从ActiveRecord_Associations_CollectionProxy对象获取模型引用

Pra*_*man 3 ruby activerecord ruby-on-rails

我有两个Active Record Models

class User < ActiveRecord::Base
  has_many :posts
end

class Post < ActiveRecordd:Base
end
Run Code Online (Sandbox Code Playgroud)

我想从activerecord协会获得类Post的引用.

user.posts.get_object_class
Run Code Online (Sandbox Code Playgroud)

目前我的时候

user.posts.class.to_s 
# Post::ActiveRecord_Associations_CollectionProxy
Run Code Online (Sandbox Code Playgroud)

有没有办法我可以获得Post而不必在"::"上"拆分"字符串然后对其进行限制?

And*_*eko 5

使用modelklass属性 - 它将返回您正在寻找的常量:

user.posts.model
#=> Post
user.posts.klass
#=> Post
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅apidocs.