рельсы связанных таблиц ошибка "неинициализированная константа" - PullRequest
2 голосов
/ 20 сентября 2010

Я создаю то, что я думал, было довольно простым приложением рецепта, изучая 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 таблицы, я получаю

recipe_users
recipes
schema_migrations
user_sessions
users

, поэтому, насколько я могу судить, я правильно понял соглашения об именах.

Есть какие-нибудь предложения относительно того, почему я получаю эту ошибку?

1 Ответ

1 голос
/ 21 сентября 2010

Похоже, что это была проблема соглашений об именах.

Я удалил все ссылки на recipe_users и воссоздал таблицу, модель и контроллер в качестве приемов пищи.

Не великое имя, но все сложилось без сучка и задоринки.

Мне никогда не нравились соглашения об именах, которые, по-видимому, ожидает rails. Я думаю, что это частично происходит из-за множественного числа, фактически не информируя разработчика о том, что rails имен может ожидать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...