在学习RoR时,我正在构建我认为是一个相当简单的食谱应用程序 .
我有一个用户表和一个食谱表,以及一个用户正在保存食谱列表的recipe_users表 .
我从rails获得的错误是“未初始化的常量User :: RecipeUser”
我的模型如下
class User < ActiveRecord::Base
acts_as_authentic
has_many :recipe_users
has_many :recipes, :through = > :recipe_users
end
class Recipes < ActiveRecord::Base
has_many :ingredients, :dependent => :destroy
has_many :recipe_users
has_many :users, :through => :recipe_users
end
class RecipeUsers < ActiveRecord::Base
belongs_to :user
belongs_to :recipe
end
现在在我的用户控制器中,我试图打电话
@user = User.find(current_user.id)
@userRecipes = @user.recipes.find()
看着我的mysql Show Tables,我明白了
recipe_users
recipes
schema_migrations
user_sessions
users
所以据我所知,我的命名惯例是正确的 .
有关为什么我收到此错误的任何建议?
1 回答
看起来这是一个命名约定的问题 .
我删除了对recipe_users的所有引用,并将表格,模型和控制器重新创建为膳食 .
这不是一个好名字,但它们都顺利地汇集在一起 .
我从来都不喜欢rails似乎期望的命名约定,部分由于复数而没有实际告知开发人员rails可能期望的名称 .