Hi All,
in the api for has_many, under the :conditions option we see :
Specify the conditions that the associated objects must meet in order to be
included as a WHERE
SQL fragment, such as price > 5 AND name LIKE ‘B%’
. Record creations from the association are
scoped if a hash is used. [has_many](http://www.railsbrain.com/api/rails-2.3.2/doc/index.html?a=M001885&name=has_many) :posts, :conditions => {:published => true}
will create published posts with
@blog.posts.create
or @blog.posts.build
.
however, in the api for has_one under the :conditions option we see :
Specify the conditions that the associated object must meet in order to be
included as a WHERE
SQL fragment, such as rank = 5
.
So, we can’t automatically scope associated has_one records by conditions like we can has_many. seems to me that the behavior should be the same in both situations.
I have a model with relationships like this
class ThingContainer < AR::Base has_one :blue_thing, :class_name => “Thing”, :conditions => {:color => “blue”} has_one :red_thing, :class_name => “Thing”, :conditions => {:color => “red”} end
class Thing < AR::Base belongs_to :thing_container end
but when I call ThingContainer.build_blue_thing, it does not populate the color attribute. is this by design? or something that was simply left out?
-C