Ruby on rails 加载父资源的私有方法失败
从以前的: Rails 4嵌套资源/路由。。。快到了 我的线路控制器内将制造商加载到控制器的私有方法抛出错误 我使用before_过滤器:加载_制造商 其功能是:Ruby on rails 加载父资源的私有方法失败,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,从以前的: Rails 4嵌套资源/路由。。。快到了 我的线路控制器内将制造商加载到控制器的私有方法抛出错误 我使用before_过滤器:加载_制造商 其功能是: def load_manufacturer @manufacturer = Manufacturer.find(params[:manufacturer_id]) end 当我尝试编辑表单中的行实例时,我得到: Couldn't find Manufacturer with id=1 但是我正在尝试编辑父资源(37)的子资源(
def load_manufacturer
@manufacturer = Manufacturer.find(params[:manufacturer_id])
end
当我尝试编辑表单中的行实例时,我得到:
Couldn't find Manufacturer with id=1
但是我正在尝试编辑父资源(37)的子资源(1)
此处传递的参数为:
{"manufacturer_id"=>"manufacturer_id","id"=>"1"}
我的表格,使这些模型很好,是:
app/views/lines/_form.html.erb
<%= form_for [@manufacturer,@line] do |f| %>
<% if @line.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@line.errors.count, "error") %> prohibited this line from being saved:</h2>
<ul>
<% @line.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :manufacturer_id %><br>
<%= f.text_field :manufacturer_id %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
禁止保存此行:
您能再次检查/manufacturers/37/lines/1
上的参数吗<代码>{“manufacturer\u id”=>“manufacturer\u id”}看起来不正确。提交此表单时,您的输入值是什么?例如:name的“TESTTESTTEST”,它会自动填充:manufacturer\u idLets的“37”在聊天中继续讨论
<%= form_for [@manufacturer,@line] do |f| %>
<% if @line.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@line.errors.count, "error") %> prohibited this line from being saved:</h2>
<ul>
<% @line.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :manufacturer_id %><br>
<%= f.text_field :manufacturer_id %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>