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中Ruby類方法不工作
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>
請告訴我錯在這裏?
它在控制檯中工作嗎? models/post.rb中的類定義是什麼?此外,請檢查您的拼寫 - 這些錯誤通常是由於拼寫錯誤造成的... – PinnyM
您應該使用範圍而不是類方法(例如:scope:two_latest_open,其中status爲'Open').order('updated_at DESC')。限制(2)' – MrYoshiji
無論這裏發生了什麼,你可能會更好地使用'''scope''來代替自己定義的方法'''scope:latest_closed,where('status =?','關閉')。order('updated_at DESC')。limit(2)''' –