У меня две модели, пользователи и акции. Идея состоит в том, что у продвижения может быть много пользователей, и у пользователя может быть много акций.
class User < ActiveRecord::Base
has_and_belongs_to_many :promotions
end
class Promotion < ActiveRecord::Base
has_and_belongs_to_many :users
end
У меня также есть таблица / модель promotions_users без собственного идентификатора. Он ссылается на user_id и promotions_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
Я уверен, что есть очень простое решение моей проблемы, и я просто не ищу правильное решение.