On Dec 8, 10:05 am, Jarmo Pertman <[email protected]> wrote: > Hello. > > I'm facing the problem where I have something like this: > class Person > has_many :things, > :conditions => "dynamic conditions depending of the object" > end > > So, the problem is that i would like to have a dynamic condition which > depends upon the object. In my particular case, it is something like > this: > has_many :things, > :conditions => {:country_code => 'country_code_string'} > > So, let's say that the country_code_string might be 'UK', 'US' and so > on. How can I make this kind of association?
On Dec 8, 10:05 am, Jarmo Pertman <[email protected]> wrote: > Hello. > > I'm facing the problem where I have something like this: > class Person > has_many :things, > :conditions => "dynamic conditions depending of the object" > end > > So, the problem is that i would like to have a dynamic condition which > depends upon the object. In my particular case, it is something like > this: > has_many :things, > :conditions => {:country_code => 'country_code_string'} > I haven't tried this, but you may want to give it a shot. You could set up a method on Person that scopes the association: class Person has_many :things def things_for_country(code) things.scoped(:conditions => { :country_code => code }) end end And then calling it would look like (assume @person is a Person object): @person.things_for_country('US') This will certainly work for *finding* records; I'm not 100% sure what will happen with building/adding objects - it is likely to work, but you should definitely write some tests... Hope this helps! --Matt Jones -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

