Rails 4アプリケーションのビューで、奇妙なことが起こっています:
<%= f.object.reply_fields.inspect %>
# prints out 4 objects
<%= f.fields_for :reply_fields do |r| %>
<%= r.object.inspect %>
<% end %>
# prints out "nil" only once
ここで何が起こっているのかわかりません。4 つのオブジェクトをループするにはどうすればよいですか? より詳しい情報:
# routes
resources :invites do
resources :replies
end
# Invite model
has_many :inputs
has_many :replies
# Reply model
belongs_to :invite
has_many :reply_fields
# ReplyField model
belongs_to :reply
belongs_to :input
# Input model
belongs_to :invite
has_many :reply_fields
# controller
def new
@reply = Reply.new(invite: @invite)
@invite.inputs.each do |i| # there are 4 items in there
@reply.reply_fields.build(input:i)
end
end
# viev
<%= form_for [@invite, @reply] do |f| %>
...