У меня есть две модели, пользователи и рекламные акции. Идея состоит в том, что продвижение может иметь много пользователей, и у пользователя может быть много рекламных акций.
class User < ActiveRecord::Base
has_and_belongs_to_many :promotions
end
class Promotion < ActiveRecord::Base
has_and_belongs_to_many :users
end
У меня также есть таблица/модель promotionions_users, без собственного идентификатора. Он ссылается на user_id и promotionions_id
class PromotionsUsers < ActiveRecord::Base
end
Итак, как добавить пользователя в продвижение? Я пробовал что-то вроде этого:
user = User.find(params[:id])
promotion = Promotion.find(params[:promo_id])
promo = user.promotions.new(promo)
Это приводит к следующей ошибке:
NoMethodError: undefined method `stringify_keys!' for #<Promotion:0x10514d420>
Если я попробую эту строку вместо: promo = user.promotions.new(promo.id)
Я получаю эту ошибку:
TypeError: can't dup Fixnum
Я уверен, что есть очень легкое решение моей проблемы, и я просто не ищу решение правильно.