Rails嵌套表单用于复杂关联

时间:2017-01-31 05:05:05

标签: ruby-on-rails forms associations form-for

问题:

  • =rfv.text_area :value在编辑操作中渲染void textarea(但在db中此字段具有值)
  • 无法在params
  • 中获取role_field_values []数组

我的模特和协会:

class Participant < ActiveRecord::Base
  belongs_to :role
  has_many :role_field_values, dependent: :destroy
  accepts_nested_attributes_for :role_field_values
end

class Role < ActiveRecord::Base
  has_many :role_fields
  has_one :participant
end

class RoleField < ActiveRecord::Base
  belongs_to :role
  has_many :role_field_values
end

class RoleFieldValue < ActiveRecord::Base
  belongs_to :participant
  belongs_to :role_field
end

我的表单edit.slim:

=simple_form_for [@project.becomes(Project), @participant] do |f|
  =f.error_notification
  h4 =@participant.profile.fio
  .form-inline
    =f.association :role, remote: true
    =f.input :status
  #role-fields

    =fields_for :role_fields_values do |rfv|
      -@participant.role.role_fields.each do |role_field|
        .form-group
          =rfv.hidden_field :role_field_id, value: role_field.id
          br
          =rfv.label role_field.name
          =rfv.text_area :value, class: 'form-control'

  .form-actions
    = f.button :submit

1 个答案:

答案 0 :(得分:1)

使用f.fields_for代替fields_for