0

Userと呼ばれる他の2つの付随するモデルと一緒にモデルUpdateを生成しましたRoundUserクラスはコンソールでラウンドと更新に応答しますが、ブラウザーで呼び出したときは応答しません。

コンソールで

: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/updateエラー

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

どこかで簡単なことを台無しにしたと思います。誰かが私を正しい方向に導くことができますか?ありがとう!

4

2 に答える 2

1

コンソールupdatesではUserインスタンスを呼び出していますが、コントローラーではUserクラス自体で呼び出しています。

代わりに、次のことが必要になる場合があります。

@hist = User.find(params[:id]).updates
于 2012-07-24T01:30:17.543 に答える
0
@hist = User.updates.find(params[id])

これがあなたの問題です。 Userクラスにはありませんがupdates、インスタンスにはあります。あなたはおそらく欲しい:

@user = User.find(params[id])
@hist = @user.updates
于 2012-07-24T01:29:38.973 に答える