Ruby on Rails tem muitos através Matriz de Problemas
-
12-09-2019 - |
Pergunta
Estou tendo problemas adicionando a um Tem muitos através associação usando user_ids
.
As minhas comunicação modelo se parece com isso:
class communication
has_many :recipients
has_many :users, :through => :recipients
end
Na minha acção criar para o controlador de comunicação Estou tentando adicionar manualmente user_ids
para o objeto de comunicação assim:
@communication = new Communications(params[:communication])
@communication.user_ids << id
logger.debug @communication.user_ids # is empty
Eu não posso trabalhar fora porque variedade @communication.user_ids
está vazio, mesmo quando eu faço um ID codificado duro assim:
@communication = new Communications(params[:communication])
@communication.user_ids << 1
logger.debug @communication.user_ids # is still empty!
Eu ainda estou recebendo uma série @communication.user_ids
vazia.
Estou faltando alguma coisa com o meu método? Todas as dicas para começar este trabalho?
Agradecemos antecipadamente!
Solução
Uma vez que é um has_many :through
, talvez você precisa fornecer objetos completos para que a relação pode ser criado sem problemas. Tente isto:
@communication = Communication.new params[:communication]
@communication.users << User.find( 1 )
@communication.user_ids # should be [ 1 ]