fields_for不会渲染循环字段

时间:2013-11-27 00:51:31

标签: ruby-on-rails

Rails 4.0.1,我真的不明白我在这里做错了什么。我有一个模型ChallengeList和一个模型ChallengeChallengeList有许多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)。

我错过了什么吗?

1 个答案:

答案 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'