Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.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
Ruby on rails 复杂的稍微嵌套的形式_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 复杂的稍微嵌套的形式

Ruby on rails 复杂的稍微嵌套的形式,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我正在尝试制作一个有点复杂的嵌套形式。我(简化)的内容如下: models/product.rb class Product < ActiveRecord::Base attr_accessible :name has_many :colors end 类产品 c、 数量:最小=>0%> 问题是它会产生大量的表格,你必须一套一套地更新。我想要的是这样的观点: view/admin/update\u inventory\u revied.html.erb <%= form_

我正在尝试制作一个有点复杂的嵌套形式。我(简化)的内容如下:

models/product.rb

class Product < ActiveRecord::Base
  attr_accessible :name
  has_many :colors
end
类产品
models/color.rb

class Color < ActiveRecord::Base
  attr_accessible :quantity
  belongs_to :product
end
class Color
views/admin/update_inventory.html.erb

<% @products.each do |p| %>
  <%= p.name %>
  <% p.colors.each do |c| %>
    <%= c.name %>: 
    <%= form_for :color, :url => color_update_path(:id => v.id) do |f| %> 
      <%= f.number_field :quantity, :value => c.quantity, :min => 0 %> 
      <%= submit_tag "Update" %>
    <% end %>
  <% end %>
<% end %>

: 
颜色更新路径(:id=>v.id)do | f |%>
c、 数量:最小=>0%>
问题是它会产生大量的表格,你必须一套一套地更新。我想要的是这样的观点:

view/admin/update\u inventory\u revied.html.erb

<%= form_for :inventory, :url => custom_update_path do |f| %>
  <% @products.each do |p| %>
    <%= p.name %>
    <% p.colors.each do |c| %>
      <%= f.number_field :quantity, :value => c.quantity, :min => 0 %>
    <% end %>
  <% end %>
  <% f.submit_tag "Update All" %>
<% end %>
custom_update_path do|f|%>
c、 数量:最小=>0%>
但我似乎无法找到与之匹配的控制器端逻辑。要使视图(或具有相同效果的东西)功能,我需要在控制器端执行什么操作?

您需要在您的模型中设置

当你得到这个设置时,你需要做的就是
product=product.create!(params[:product])
如果嵌套表单构建正确,嵌套对象将自动保存

如果需要帮助构建嵌套表单,请查看链接中的
帮助的
字段