forms - references - rails has_one through
Problema de selección múltiple con una relación HABTM utilizando Rails 4 (2)
Asegúrese de permitir que los parámetros recibidos para la asignación de masa sean adecuados.
Dijiste que el param funciona, así que supongo que lo que tienes en algún lugar de tu controlador es como:
params.require(:transaction).permit(:name, :tag_ids)
Entonces necesitas permitir recibir una matriz:
params.require(:transaction).permit(:name, :tag_ids => [])
Aunque el código parece correcto, cuando intento enviar el formulario, los valores de la selección múltiple no se envían.
Si elimino la opción múltiple, todo funciona como se espera teniendo en cuenta solo un valor, pero es importante almacenar más de una etiqueta por transacción.
Modelo
Transaction.rb
class Transaction < ActiveRecord::Base
has_and_belongs_to_many :tags
Tag.rb
class tag < ActiveRecord::Base
has_and_belongs_to_many :transactions
Ver
<%= form.collection_select :tag_ids, @tags, :id, :name, {},
{:multiple => true} %>
Resultado:
<select id="transaction_tag_ids" multiple="multiple" name="transaction[tag_ids][]">
<option value="1">..</option>
</select>
Resolví mi problema usando
{:health_unit_ids => []}
Rails 4 no aceptado sin {}