2016-10-11 7 views
2

Ich habe zwei Active Record Modelvon ActiveRecord_Associations_CollectionProxy Objekt ein Modell Referenz Get

class User < ActiveRecord::Base 
    has_many :posts 
end 

class Post < ActiveRecordd:Base 
end 

Ich mag den Bezug der Klasse Beitrag vom Active Verein bekommen.

user.posts.get_object_class 

Zur Zeit, als ich

tun
user.posts.class.to_s 
# Post::ActiveRecord_Associations_CollectionProxy 

Gibt es eine Möglichkeit, ich Beitrag ohne „split“ die Zeichenfolge auf „::“ bekommen und constantize es dann?

Antwort

3

Verwenden model oder klass Attribute - es wird die Konstante zurückkehren Sie suchen:

user.posts.model 
#=> Post 
user.posts.klass 
#=> Post 

apidocs Details für mehr sehen.

+0

Brilliant! Vielen Dank. Genau das, was ich wollte! –

+0

@PrakashRaman Sie sind willkommen :) –

+0

@PrakashRaman stellen Sie sicher, die Antwort zu akzeptieren;) –

Verwandte Themen