我仍在努力加入我的用户模型和指南模型以建立一个FavoriteGuidelines关联(即用户可以选择他喜欢的指南)。
当我运行user_test.rb时,我收到错误:
测试:用户应该有很多user_favorites。 (UserTest):NameError: 未初始化的常量User :: UserFavorite
我的user_test.rb是:
class UserTest < ActiveSupport::TestCase
should have_many(:user_favorites)
should have_many(:favorites)
user.rb是
has_many :guidelines
has_many :favorites, through: :user_favorites
has_many :user_favorites
guideline.rb是
belongs_to :user
has_many :favorites, through: :guideline_favorites
has_many :guideline_favorites
favorite_guidelines.rb是:
class FavoriteGuideline < ActiveRecord::Base
belongs_to :user
belongs_to :guideline
belongs_to :favorite, class_name: 'User', foreign_key: 'favorite_id'
attr_accessible :user, :favorite, :guideline
end
我的数据库迁移是:
class CreateFavoriteGuidelines&lt; ActiveRecord的::迁移
def change
create_table :favorite_guidelines, :primary_key => :favorite_id do |t|
t.integer :user_id
t.integer :guideline_id
t.timestamps
end