0

考虑我有两个表,即项目和颜色。

Item 表包含 has_many 与颜色的关系,因为每个项目可以有多个颜色,但颜色不存在。

我有一个页面,我必须在其中添加项目,并且在同一页面中我必须指定项目的颜色。那么如何将这些值与项目 ID 一起添加到颜色表中。请帮我。我正在努力移动。

编辑:

物品型号

class Item < ActiveRecord::Base
has_many :colors
end

颜色模型

class Color < ActiveRecord::Base
    belongs_to :items
    end

桌子

 id | created_at | updated_at | item_id | color_name 
----+------------+------------+---------+--------------
4

1 回答 1

1

如果颜色总是使用 item 创建,那么您需要使用嵌套属性。

class Item < ActiveRecord::Base
  attr_accessible :colors_attributes
  has_many :colors
  accepts_attributes_for :colors
end

在您的控制器操作中Items#new

@items.colors.build

在您的 items/new.html.erb 中,将 fields_for 添加到 items 表的其他字段中。

<%= form_for @item do |f| %>
  <%= f.text_field :name %>
  ...
  <%= f.fields_for :colors do |color| %>
   <%= color.text_field :some_column_name_from_color %>
  <% end %>
<% end %>

要即时添加/删除多种颜色,您可以使用nested_form gem

于 2013-03-09T13:37:58.990 回答