为什么我的控制器可以访问一个型号,而不能访问另一个型号?

时间:2011-11-08 15:23:19

标签: ruby-on-rails ruby model-view-controller model controller

我有一个名为User的控制器。在其中的两个操作中,我想访问名为Preference的模型。尝试点击任一操作时,我收到“未初始化的常量UserController :: Preferences”错误。

我能够无错误地访问其他模型,例如Prospect。 Prospect和Preference都与User具有belongs_to关系。

我尝试将模型作为:: Preferences访问,但是我收到了类似的错误:“未初始化的常量首选项”。我也试过手动要求模型,但没有用。

是否有其他人遇到此问题并提出解决方案?

1 个答案:

答案 0 :(得分:2)

看起来你称之为“偏好”。但这几乎肯定不是你模型的名称。

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时,它是单数。