0
class Post < ActiveRecord::Base
 belongs_to :users

 def self.find_latest_closed
   Post.where("status=?",'Closed').order("updated_at DESC").limit(2)
 end

 def self.find_latest_open
   Post.where("status=?",'Open').order("updated_at DESC").limit(2)
 end
end

PostController で

class UsersController < ApplicationController
 def dashboard
  @totalclose = Post.find_latest_closed
   @totalopen = Post.find_latest_open
 end
end

次のエラーが表示されます

NoMethodError in UsersController#dashboard
undefined method `find_latest_closed' for #<Class:0x000001074eb760>

ここで何が問題なのですか?

4

2 に答える 2

0

find_*ActiveRecordの魔法のメソッドと何らかの競合がある可能性があります。たぶん、メソッド名をに変更してみてくださいget_*

于 2012-11-12T20:37:55.067 に答える
0

メソッド呼び出しの Post プレフィックスを削除しようとします。

 def self.find_latest_closed
   where("status=?",'Closed').order("updated_at DESC").limit(2)
 end

 def self.find_latest_open
   where("status=?",'Open').order("updated_at DESC").limit(2)
 end
于 2012-11-12T20:25:56.743 に答える