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!

Foi útil?

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 ]
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top