我正在创建一个 Rails 应用程序,但遇到了一些障碍。我想要一个“为 DataType1 创建新记录”表单,它不仅为 DataType1 创建一个新行,还为 DataType2 插入多达四个新行。
我对fields_for 了如指掌,但我的问题是我需要提交最多四个DataType2,而它们与DataType1 的唯一联系是它们是通过DataType2 中的一个字段引用的。
这是简化的数据库:
create_table :data_type_1 do |t|
t.string :title
t.text :body
t.timestamps
end
create_table :data_type_2 do |t|
t.belongs_to :parent
t.timestamps
end
现在,我已经建立了所有关系和一切;那不是问题。问题是我似乎无法弄清楚如何将 DataType2 的参数与新 DataType1 的参数一起传递。一旦有人向我展示了我应该如何执行此操作,我就可以相当容易地设置新的 DataType2 以与新的 DataType1 关联。
这是我目前的表格:
<% form_for(@data_type_1) do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :title %><br />
<%= f.text_field :title %>
</p>
# Etc...
<p>
# New items need to be iterated here
# DataType2[1]: [ ]
# DataType2[2]: [ ]
# DataType2[3]: [ ]
# DataType2[4]: [ ]
# (Note that these numbers are just examples.)
</p>
<p>
<%= f.submit "Create" %>
</p>
<% end %>
我对 Rails 比较陌生,如果这个问题有点啰嗦,我深表歉意。