以编程方式获取Rails 4中belongs_to关联的类

luc*_*e84 5 reflection ruby-on-rails classname ruby-on-rails-4

假设我有一些由一对多关系链接的类:

class A
  field :name, type: String
  has_many :b

class B
  field :title, type: String 
  belongs_to :a
Run Code Online (Sandbox Code Playgroud)

我们还要说我有一个B的实例,我想要检索他的belongs_to关系的类名(在我的例子'A'中,而不是链接到我的B对象的A类实例).

a = A.new name: 'my A object'
b = B.new title: 'my B object', a: a

assert_equal b.get_relationships(:belongs_to), ['A'] #substitute "get_relationships" with something that actually exists :)
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

我看了一个关于类似主题的答案(使用反射),但我无法使其成功.也许在Rails 4中有些变化?

apn*_*ing 6

B.reflect_on_all_associations(:belongs_to).map(&:name)
Run Code Online (Sandbox Code Playgroud)

要么

b.class.reflect_on_all_associations(:belongs_to).map(&:name)
Run Code Online (Sandbox Code Playgroud)