我正在使用Ruby on Rails 3.0.7,我想知道如何在两个类\ models之间检索 Active Record Association 名称。
也就是说,我有两个模型
class User < ActiveRecord::Base
has_many :accounts
end
class Account < ActiveRecord::Base
belongs_to :users
end
我希望检索(在运行时)他们的关联名称,在这种情况下是accounts
和users
字符串。
有可能吗?如果是这样,我该怎么做?
更新
如果我在User
和Account
类中有更多关联语句(请参阅下面的示例),我该如何检索完全 User
{{1关联名称?
Account
答案 0 :(得分:2)
User.reflect_on_all_associations.each do |assoc|
puts "#{assoc.macro} #{assoc.name}"
end
#=> "has_many accounts"
<强> UPD 强>
User.reflect_on_all_associations.select{|a| a.class_name == "Account"}.each do |assoc|
puts "#{assoc.macro} #{assoc.name}"
end
#=> "has_many accounts"