ruby on rails - Activerecord conditions and named scope - undefined method `created_at' -


subscriber   has_and_belongs_to_many :skills.   skill    has_many :positions 

in subscriber.rb:

scope :notify_today,        includes(:skills => :positions).       where("positions.created_at > ? , positions.created_at > ?",               1.day.ago, self.created_at) 

basically want find subscribers have positions 1) created 1.day.ago , 2) created after subscriber

the error occurs because class of self here class, not subscriber, wanted.

as solution, can make lamda , pass in parameter created_at: (i presume scope working otherwise, because have not tested your scope code specifically)

scope :notify_today,        lambda { |created_at| includes(:skills => :positions).       where("positions.created_at > ? , positions.created_at > ?",               1.day.ago, created_at) } 

and use it:

@subscribers = notify_today(time.now) 

Comments

Popular posts from this blog

javascript - Enclosure Memory Copies -

php - Replacing tags in braces, even nested tags, with regex -