Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails用户类没有响应方法,给出未定义的方法错误_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails Rails用户类没有响应方法,给出未定义的方法错误

Ruby on rails Rails用户类没有响应方法,给出未定义的方法错误,ruby-on-rails,ruby,Ruby On Rails,Ruby,我已经生成了一个用户模型,以及另外两个名为Update和Round的附带模型。User类在控制台中响应轮次和更新,但在浏览器中调用时不响应 控制台中 :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

我已经生成了一个
用户
模型,以及另外两个名为
Update
Round
的附带模型。
User
类在控制台中响应轮次和更新,但在浏览器中调用时不响应

控制台中

: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
/user/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
class Updates < ActiveRecord::Base

  attr_accessible :user_id :recpcount
  belongs_to :user
end
class UpdatesController < ApplicationController

  def index
     @hist = User.updates.find(params[id])
  end
end
class用户
更新.rb

class User < ActiveRecord::Base

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

end
class Updates < ActiveRecord::Base

  attr_accessible :user_id :recpcount
  belongs_to :user
end
class UpdatesController < ApplicationController

  def index
     @hist = User.updates.find(params[id])
  end
end
类更新
更新\u controller.rb

class User < ActiveRecord::Base

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

end
class Updates < ActiveRecord::Base

  attr_accessible :user_id :recpcount
  belongs_to :user
end
class UpdatesController < ApplicationController

  def index
     @hist = User.updates.find(params[id])
  end
end
类更新控制器
我肯定我把一些简单的事情搞砸了。谁能把我引向正确的方向?谢谢

@hist = User.updates.find(params[id])
这是你的问题<代码>用户
该类没有
更新
,实例有。您可能想要:

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

在控制台中,您对用户实例调用
更新
,但在控制器中,您对用户类本身调用它

您可能需要:

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

谢谢你,这正是我需要的!