Javascript 未定义的方法`格式';呈现html.erb文件时
Im使用Rails 3.0.3和ruby 1.8.7 我想在materials/change\u prize.js.erb文件中呈现/materials/change\u prize.html.erb 更改\u prize.js.erb:Javascript 未定义的方法`格式';呈现html.erb文件时,javascript,jquery,ruby-on-rails,ruby-on-rails-3,Javascript,Jquery,Ruby On Rails,Ruby On Rails 3,Im使用Rails 3.0.3和ruby 1.8.7 我想在materials/change\u prize.js.erb文件中呈现/materials/change\u prize.html.erb 更改\u prize.js.erb: $("#content").html("<%= escape_javascript(render(:action => 'materials/change_prize.html.erb')) %>"); routes.rb: reso
$("#content").html("<%= escape_javascript(render(:action => 'materials/change_prize.html.erb')) %>");
routes.rb:
resources :materials do
member do
get 'change_prize'
post 'change_prize'
end
end
但是,当我加载js文件时,会出现以下错误:
undefined method `formats' for nil:NilClass
我做错了什么?您需要使用:partial而不是:action
<%= escape_javascript(render :partial => "materials/change_prize", :locals => { :xxxx => @xxxx }) %>
“材料/变革奖”,:locals=>{:xxxx=>@xxxx})%>
n、 b.xxxx是指如果需要将对象传递给partial,则需要使用:partial而不是:action
<%= escape_javascript(render :partial => "materials/change_prize", :locals => { :xxxx => @xxxx }) %>
“材料/变革奖”,:locals=>{:xxxx=>@xxxx})%>
n、 b.xxxx是指如果您需要将对象传递给分部,分部必须以下划线开头。因此,将文件名重命名为“materials/change\u prize.html.erb”为“materials/\u change\u prize.html.erb”。但是请注意,当通过渲染调用调用它时,您引用的文件没有下划线
$("#content").html("<%= escape_javascript(render(:action => 'materials/change_prize.html.erb')) %>");
$(“#content”).html(“'materials/change_prize.html.erb”))%>;
文件名:app/views/materials/_change\u prize.html.erb部分必须以下划线开头。因此,将文件名重命名为“materials/change\u prize.html.erb”为“materials/\u change\u prize.html.erb”。但是请注意,当通过渲染调用调用它时,您引用的文件没有下划线
$("#content").html("<%= escape_javascript(render(:action => 'materials/change_prize.html.erb')) %>");
$(“#content”).html(“'materials/change_prize.html.erb”))%>;
文件名:app/views/materials/_change\u prize.html.erb现在我得到了“缺少部分材料/change\u prize”。我不想呈现部分更改。html.erb是一个动作。现在我得到“缺少部分材料/更改”。我并不是在试图呈现一个局部的改变。prize.html.erb是一个动作。