Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未定义的方法`格式';呈现html.erb文件时_Javascript_Jquery_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Javascript 未定义的方法`格式';呈现html.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

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:

 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是一个动作。