Rubino sulle rotaie has_many Attraverso Array Problema
-
12-09-2019 - |
Domanda
Ho problemi che aggiungono ad un ha molti Attraverso di associazione con user_ids
.
Il mio modello di comunicazione si presenta così:
class communication
has_many :recipients
has_many :users, :through => :recipients
end
Nella mia azione creare per il controller di comunicazione che sto cercando di aggiungere manualmente user_ids
per l'oggetto di comunicazione in questo modo:
@communication = new Communications(params[:communication])
@communication.user_ids << id
logger.debug @communication.user_ids # is empty
Non riesco a capire perché gamma @communication.user_ids
è vuoto, anche quando faccio un disco id codificato in questo modo:
@communication = new Communications(params[:communication])
@communication.user_ids << 1
logger.debug @communication.user_ids # is still empty!
Sono ancora ricevendo una matrice @communication.user_ids
vuoto.
Mi sto perdendo qualcosa con il mio metodo? Eventuali suggerimenti per ottenere questo lavoro?
Grazie in anticipo!
Soluzione
Poiché è un has_many :through
, forse è necessario fornire oggetti pieni in modo che il rapporto può essere creato senza intoppi. Prova questo:
@communication = Communication.new params[:communication]
@communication.users << User.find( 1 )
@communication.user_ids # should be [ 1 ]