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"]
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"]
You can use Active Record Reflections (API here)
In your example:
p.class.reflect_on_all_associations(:has_many).collect {|a| a.name}