class Event < ActiveRecord::Base default_scope :conditions => "id = 1" end
Event.new
undefined method `1=' for #<Event:0xb68ce02c>
class Event < ActiveRecord::Base default_scope :conditions => "id = 1" end
Event.new
undefined method `1=' for #<Event:0xb68ce02c>
class Event < ActiveRecord::Base default_scope :conditions => {:id = 1} end
just a guess
":id => 1" or {:id =>1}
With regards to the other responses, your syntax is fine. Default_scope with conditions has seemed a bit broken recently (http:// rails.lighthouseapp.com/projects/8994/tickets/2199-default_scope- errors-with-named_scope) but I've just updated to tag v2.3.2 and your specific example now works fine.
Hope that helps. Andrew
Fwiw, I'm seeing similar things even on 2.3.2, with slightly different default_scopes:
default_scope :conditions => ["played_on < ?", Time.now]
leads to:
undefined method `played_on < ?=' for #<Game:0x21c5e88> (when Game.new is called)
when I call Game.new
Best, Rick
(and, yes, I know Time.now isn't going to do what I expect, just ended up there while trying to troubleshoot the problem)
Any news on this? I'm also on Rails 2.3.2. and can't find a way around this bug.