禁用持久化的simple_fields_for?

时间:2013-12-08 20:06:49

标签: ruby-on-rails simple-form nested-attributes

嗨,我正在学习使用accepts_nested_attributes,我的simple_form中有一个simple_fields_for,一切都很好,我可以用nested_attributes添加对象。但是现在我想禁用已经存在的字段,如果用户想要添加另一个字段。它看起来像:

 = f.simple_fields_for :annexes do |an|
   = an.input :number, label: "Numer", required: false

我想禁用已经存在的每个对象。我尝试添加一些if语句,但'an'是SimpleForm :: FormBuilder对象,而不是我预期的附件。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

我明白了。我发现我们可以通过在simple_fields_for块中调用object来获取对象。现在我可以查看:

  = f.simple_fields_for :annexes do |an|
    - if an.object.persisted?
      ...disabled fields...
    - else
      ... normal fields...