views:

23

answers:

1

Suppose I have an object Person, which has_many :foos and :bars.

Given an instance, p (p = Person.new), how do I programmatically determine what relationships are available?

i.e. p.some_method => ["foo", "bar"]

+2  A: 

You can use Active Record Reflections (API here)

In your example:

p.class.reflect_on_all_associations(:has_many).collect {|a| a.name}
Ricardo Acras