首页 文章

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

提问于
浏览
2

在学习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 回答

  • 1

    看起来这是一个命名约定的问题 .

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

    这不是一个好名字,但它们都顺利地汇集在一起 .

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

相关问题