2012-07-24 49 views
0

我已生成User模型以及另外两个名为UpdateRound的伴随模型。 User类响应循环和控制台中的更新,但不是在浏览器中调用它时。Rails用户类对方法没有响应,给出了未定义的方法错误

在控制台

:001 > user = User.first 
:002 > user.updates 
Update Load (0.2ms) SELECT "updates".* FROM "updates" WHERE "updates"."user_id" = 1 
=> [] //expected since there are no updates in the database but it responds 

/用户/ 1 /更新错误

undefined method 'updates' for #<Class:0x98afa1c> 

User.rb

class User < ActiveRecord::Base 

    attr_accessible :admin, :name, :provider :uid 
    has_many :rounds 
    has_many :updates 

end 

Update.rb

class Updates < ActiveRecord::Base 

    attr_accessible :user_id :recpcount 
    belongs_to :user 
end 

Updates_controller.rb

class UpdatesController < ApplicationController 

    def index 
    @hist = User.updates.find(params[id]) 
    end 
end 

我敢肯定,我乱七八糟的东西简单的某处。任何人都能带领我走向正确的方向吗?谢谢!

回答

1

在控制台你在用户实例调用updates,但在控制你调用它本身的用户类。

很可能,你想:

@hist = User.find(params[:id]).updates 
+0

谢谢,正是我需要的! – SomberClock 2012-07-25 23:02:11

0
@hist = User.updates.find(params[id]) 

这是你的问题。 User该类没有updates,实例。你可能想:

@user = User.find(params[id]) 
@hist = @user.updates 
+0

感谢您的帮助! – SomberClock 2012-07-25 23:01:01

相关问题