我有一个rails应用程序,主页链接到homeController。 在链接上使用javascript点击(放置操作),我想重置("清理")我的整个模板,然后在我的主页上渲染一个完全新的部分。
到目前为止,我已经得到了这个:
控制器:
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 %>
Js文件名为&#34; _physical.js.erb&#34; :
$('#empty-body').html("");
$('#empty-body').html("<%= escape_javascript render(:partial => 'physical') %>");
查看已命名的&#34; physical.html.erb&#34; :
<div>html layout</div>
使用前面的代码,我没有错误,但我的js似乎永远不会被调用因为页面根本没有更新。 我试图添加:
format.js { render partial: 'physical' }
在我的控制器中的物理方法上,但是当我调用我的方法时,我的控制台会返回此&amp;杀死:
Segmentation fault
经过几次努力,我能够重置&#34;点击后我的模板(页面完全为空),但不在其中呈现我的新部分。 问题似乎来自于试图在这里渲染部分的js:
$('#empty-body').html("<%= escape_javascript render(:partial => 'physical') %>");
这似乎导致了细分错误......
有什么建议吗?
感谢。
答案 0 :(得分:1)
您只需要重命名文件:
_physical.js.erb
=&gt; physical.js.erb
(默认导视工作流程没有_
)physical.html.erb
=&gt; _physical.html.erb
(部分与_
)