rails链接表“未初始化的常量”错误

时间:2010-09-20 18:31:38

标签: ruby-on-rails

我在学习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 个答案:

答案 0 :(得分:1)

看起来这是命名约定的问题。

我删除了对recipe_users的所有引用,并将表格,模型和控制器重新创建为膳食。

这不是一个好名字,但它们都顺利地走到了一起。

我从来都不喜欢rails似乎期望的命名约定,部分由于复数化而没有实际告知开发人员rails可能期望的名称。