Ruby on Rails has_many A través Problema de Array
-
12-09-2019 - |
Pregunta
Estoy teniendo problemas para añadir a un Tiene muchos a través de asociación utilizando user_ids
.
Mi modelo de comunicación es el siguiente:
class communication
has_many :recipients
has_many :users, :through => :recipients
end
En mi acción para crear el controlador de comunicación que estoy tratando de añadir manualmente user_ids
al objeto de comunicación de esta manera:
@communication = new Communications(params[:communication])
@communication.user_ids << id
logger.debug @communication.user_ids # is empty
No puedo entender por qué gama @communication.user_ids
está vacía, incluso cuando hago un identificador codificado de este modo:
@communication = new Communications(params[:communication])
@communication.user_ids << 1
logger.debug @communication.user_ids # is still empty!
Todavía estoy un conjunto @communication.user_ids
vacía.
Me estoy perdiendo algo con mi método? ¿Algún consejo para conseguir este trabajo?
Gracias de antemano!
Solución
Ya que es un has_many :through
, puede que usted necesita para abastecer objetos completos de modo que las relaciones se puede crear sin problemas. Prueba esto:
@communication = Communication.new params[:communication]
@communication.users << User.find( 1 )
@communication.user_ids # should be [ 1 ]