Rails 4.0.1,我真的不明白我在这里做错了什么。我有一个模型ChallengeList
和一个模型Challenge
。 ChallengeList
有许多Challenges
:
#ChallengeList
has_many :challenges, :dependent => :destroy
accepts_nested_attributes_for :challenges
我想创建一个嵌套表单,允许用户在编辑列表时更新挑战(HAML中的代码,但应该有意义):
= form_for @challenge_list do |f|
.field
= f.label :title, "Title (optional)"
%br/
= f.text_field :title
-# etc, fields for challenge list
="#{@challenge_list.challenges.length} challenges"
-f.fields_for :challenges do |builder|
.field
= builder.text_field :description
%br/
.actions
= f.submit 'Save'
但是当我尝试我的表单时,即使@challenge_list
包含多于1个挑战,field_for部分也不会显示任何内容。 (例如challenge_list.challenges.length
会出现一个数字> 0)。
我错过了什么吗?
答案 0 :(得分:1)
您忘记了fields_for
的等号:
= "#{@challenge_list.challenges.length} challenges"
= f.fields_for :challenges do |builder|
.field
= builder.text_field :description
%br/
.actions
= f.submit 'Save'