2011-05-19 66 views
0

我需要一些帮助,这错误调用模型:
NoMethodError在PostsController#签 未定义的方法`hasToday”为#NoMethodError试图从控制器

控制器:

def checkin 
    @date = DateTime.parse(params[:day]) 
    if (Post.hasToday(@date)) 
end 

型号:

class Post < ActiveRecord::Base 

    scope :created_on, lambda {|date| {:conditions => ['DATE(created_at) = ?', date.to_s(:db)]}} 

    def hasToday(date) 
    self.created_on(date).count > 0 ? true : false 
    end 

end 

回答

3

试试这个在您的模式

def self.hasToday(date) 
     self.created_on(date).count > 0 ? true : false 
    end 
+1

作品。谢谢。我必须在self.hasToday前加上静态方法。 – fabian 2011-05-19 06:09:49

+0

FYI ruby​​方法名称传统上使用undercores,并且不camelcased。所以要更红宝石般,它会是:self.has_today(日期) – twmills 2011-05-19 16:10:53