2

我如何使用 Accept_nested_attributes_for 在 Rails 中保存多个新的相关对象?目前它只允许我保存一条新记录。

4

2 回答 2

2

您可以将其作为哈希数组传递,例如

Model.new(:nested_model_attributes=>{[0]=>{:param=>value},[1]=>{:param=>value})
于 2012-05-30T02:42:23.490 回答
1

这是另一个例子。如果我有许多兄弟姐妹的录取模型,并且我有一个表格,我会在其中获取超过 1 个兄弟姐妹的详细信息。然后在控制器中我需要编写以下代码。

def new
    @admission = Admission.new()
    3.times { @admission.siblings.build }
end

以下将是您的页面代码。

<%= form_for(@admission) do |f| %>
# fields of admission form
  <%= f.fields_for :siblings do |builder| %>
   # fields for siblings form
  <% end %>
<%= f.submit %>

以下将是您的型号代码。

class Admission < ActiveRecord::Base
    has_many :siblings, :dependent => :destroy
    accepts_nested_attributes_for :siblings
end
于 2012-05-30T13:32:02.823 回答