gpt4 book ai didi

javascript - Rails js 在清除之前的模板后渲染部分内容

转载 作者:行者123 更新时间:2023-12-03 08:06:34 24 4
gpt4 key购买 nike

我有一个 Rails 应用程序,其主页链接到 homeController。在链接单击(放置操作)上使用 javascript,我想重置(“清理”)我的整个模板,然后在我的主页中呈现一个完全新的部分。

到目前为止我已经得到了这个:

Controller :

class HomeController < ApplicationController
def show
//classic home action
end

def physical
respond_to do |format|
format.js
end
end
end

链接:

<%= link_to 'Retail Store', home_physical_path, remote: true %>

名为“_physical.js.erb”的 Js 文件:

$('#empty-body').html("");
$('#empty-body').html("<%= escape_javascript render(:partial => 'physical') %>");

名为“physical.html.erb”的 View :

<div>html layout</div>

使用前面的代码,我没有错误,但我的 js 似乎永远不会被调用,因为页面根本不更新。我尝试添加:

format.js { render partial: 'physical' }

在我的 Controller 中的物理方法上,但是当我调用我的方法时,我的控制台返回此并终止:

Segmentation fault

经过几次解决后,我能够在单击后“重置”我的模板(页面完全为空),但无法在其中渲染我的新部分。问题似乎来自于尝试在此处渲染部分的 js :

$('#empty-body').html("<%= escape_javascript render(:partial => 'physical') %>");

这似乎会导致段错误...

有什么建议吗?

谢谢。

最佳答案

您只需重命名您的文件:

  • _physical.js.erb => physical.js.erb(默认 Rails View 工作流程不带 _)
  • physical.html.erb => _physical.html.erb(带有 _ 的部分)

关于javascript - Rails js 在清除之前的模板后渲染部分内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34357150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com