Ruby on Rails Имеет Много Сквозных проблем с массивами
-
12-09-2019 - |
Вопрос
У меня возникли проблемы с добавлением в Имеет Много Сквозных использование ассоциации user_ids
.
Моя коммуникационная модель выглядит следующим образом:
class communication
has_many :recipients
has_many :users, :through => :recipients
end
В моем действии create для контроллера связи я пытаюсь вручную добавить user_ids
к объекту связи примерно так:
@communication = new Communications(params[:communication])
@communication.user_ids << id
logger.debug @communication.user_ids # is empty
Я не могу понять, почему @communication.user_ids
массив пуст, даже когда я задаю жестко закодированный идентификатор следующим образом:
@communication = new Communications(params[:communication])
@communication.user_ids << 1
logger.debug @communication.user_ids # is still empty!
Я все еще получаю пустой @communication.user_ids
массив.
Я что-то упускаю из виду в своем методе?Есть какие-нибудь советы, как заставить это работать?
Заранее спасибо!
Решение
Поскольку это has_many :through
, возможно, вам нужно предоставить полные объекты, чтобы связь могла быть создана плавно.Попробуй это:
@communication = Communication.new params[:communication]
@communication.users << User.find( 1 )
@communication.user_ids # should be [ 1 ]
Не связан с StackOverflow