Why does default scope break the #new method?

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.