获取rails中相关模型的列表

Pau*_*ber 9 ruby ruby-on-rails relationship

假设我有一个对象Person,has_many :foos:bars.

给定一个实例p(p = Person.new),我如何以编程方式确定可用的关系?

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

Ric*_*ras 12

您可以使用Active Record Reflections(此处为 API )

在你的例子中:

p.class.reflect_on_all_associations(:has_many).collect {|a| a.name}
Run Code Online (Sandbox Code Playgroud)