我在学习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
据我所知,我的命名惯例是正确的。
有关为何我收到此错误的任何建议?
答案 0 :(得分:1)
看起来这是命名约定的问题。
我删除了对recipe_users的所有引用,并将表格,模型和控制器重新创建为膳食。
这不是一个好名字,但它们都顺利地走到了一起。
我从来都不喜欢rails似乎期望的命名约定,部分由于复数化而没有实际告知开发人员rails可能期望的名称。