aceite atributos aninhados para o relacionamento has_many
Abaixo estão minhas duas classes de modelo
class Patient < ActiveRecord::Base
belongs_to :user, :dependent => :destroy
has_many :enrollments, :dependent => :destroy
has_many :clients, :through => :enrollments
accepts_nested_attributes_for :user
accepts_nested_attributes_for :enrollments
attr_accessible :user_attributes,:enrollments_attributes, :insurance
end
class Enrollment < ActiveRecord::Base
belongs_to :client
belongs_to :patient
attr_accessible :client_id, :patient_id, :patient_id, :active
end
No meu formulário de paciente, eu gostaria de ter uma caixa de seleção múltipla, na qual um paciente pode ser atribuído aos clientes. Existe uma maneira de fazer isso, para que eu não precise ter nenhuma lógica no controlador, exceto por
@patient = Patient.new(params)
@pat,ient.save
Eu tentei isso:
<%= patient_form.fields_for :enrollments do |enrollments_fields| %>
<tr>
<td class="label">
<%= enrollments_fields.label :client_id %>:
</td>
<td class="input">
<%= enrollments_fields.collection_select(:client_id, @clients, :id, :name, {}, :multiple => true) %>
</td>
</tr>
<% end %>
Mas ele salva apenas o primeiro cliente. Se eu remover a peça múltipla, ela funcionará, mas só posso selecionar 1 cliente!
O valor html do select é: