Почему мой контроллер имеет доступ к одной модели, а не к другой? - PullRequest
0 голосов
/ 08 ноября 2011

У меня есть контроллер с именем User. В двух его действиях я хотел бы получить доступ к модели с именем Preference. Я получаю сообщение об ошибке «Неинициализированная константа UserController :: Preferences» при попытке нажать любое из действий.

Я могу получить доступ к другим моделям, таким как Prospect, без ошибок. И проспект, и предпочтение связаны между собой и принадлежат пользователю.

Я пытался получить доступ к модели как :: Preferences, но я получаю очень похожую ошибку: "неинициализированная константа Preferences". Я также пытался вручную запросить модель, но безрезультатно.

Кто-нибудь еще сталкивался с этой проблемой и придумал решение?

1 Ответ

2 голосов
/ 08 ноября 2011

Похоже, вы называете это "Настройки".Но это почти наверняка не название вашей модели.

class UsersController < ApplicationController

  def show #or whatever
    @user = User.find(67)
    @preferences = user.preferences
    # OR
    @preferences = Preference.where(:user_id => @user.id).first
  end
end

Обратите внимание, что когда мы называем Preference, это единственное число.

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