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!

È stato utile?

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 ]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top