2017-01-31 2 views
0

Problèmes:Rails emboîtées pour les associations complexes

  • =rfv.text_area :value Render textarea vide dans l'action d'édition (mais dans db ce champ a une valeur)
  • ne peut pas obtenir tableau de role_field_values ​​[] dans params

Mes modèles et associations:

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 

Ma forme edit.slim:

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

    =fields_for :role_fields_values do |rfv| 
     [email protected]_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 

Répondre

1

Utilisation f.fields_for au lieu de fields_for

+0

= f.simple_fields_for: role_field_values ​​pour gem simple_form – nuT707