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.


Reply via email to