Has_and_belongs_to_many ejemplo del wiki

Hola,

le estoy dando vueltas al ejemplo de la wikipedia, pero no consigo
que funcione :frowning: el ejemplo en cuestión es

product = Products.new(params[:product])
if product.save
product.options << Option.find_by_name(“red”)
end

según el ejercicio que estoy haciendo lo he dejado así

product = Products.new(params[:product])
if product.save
product.options << Option.find(params[:
product_option].collect{ |c| c.to_i}) #params[: product_option] ids
provenientes de un select multiple
end

Los datos se graban correctamente en la tabla products_options pero
de la siguiente manera
id products options
5 12 5
4 12 4
2 12 2

Cuando deberían grabarse de esta forma
id products options
1 12 5
2 12 4
3 12 2

He cambiado el Option.find(pararams… por un new para intentar
solucionar el problema pero no hay manera :frowning:

product = Products.new(params[:product])
if product.save
params[: product_option].each do |c|
product.options << Option.new©
end
end

Alguno sabe por que sucede esto???
muchas gracias por la ayuda

toda la tarde para descubrir que la solución estaba en :id => false
:stuck_out_tongue: