Ruby on Rails Имеет Много Сквозных проблем с массивами

StackOverflow https://stackoverflow.com/questions/1452920

Вопрос

У меня возникли проблемы с добавлением в Имеет Много Сквозных использование ассоциации 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 ]
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top