Я пытаюсь создать связь HABTM между классами User
и Benefit
. Проблема заключается в том, что пользователи и преимущества имеют несколько отношений друг с другом, поэтому я пытаюсь дать этим отношениям уникальное имя FavoriteBenefitization
.
К сожалению, когда я делаю User.last.favorite_benefits
Я получаю сообщение об ошибке:
ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'favorite_benefitizations.user_id' in 'where clause': SELECT `benefits`.* FROM `benefits` INNER JOIN `favorite_benefitizations` ON `benefits`.`id` = `favorite_benefitizations`.`favorite_benefit_id` WHERE `favorite_benefitizations`.`user_id` = 6088
Вот код, который я использовал:
class FavoriteBenefitization < ActiveRecord::Base
belongs_to :favorited_user, :class_name => 'User'
belongs_to :favorite_benefit, :class_name => 'Benefit'
validates :favorited_user, :favorite_benefit, :presence => true
end
class User < ActiveRecord::Base
has_many :favorite_benefitizations,
:dependent => :destroy
has_many :favorite_benefits,
:through => :favorite_benefitizations
end
class Beneift < ActiveRecord::Base
has_many :favorite_benefitizations,
:dependent => :destroy
has_many :favorited_users,
:through => :favorite_benefitizations
end
Это для приложения, использующего Rails 3.1
Любая помощь будет потрясающей. Спасибо!