我认为这很简单,但出于某种原因,我无法在任何地方找到答案。我有一个模型class_profiles
,其中包含许多parent_profiles
并且有许多parent_invitations
。在class_profiles.rb文件中,我有一个方法,它返回parent_profiles
和parent_invitations
的单个排序集合,如下所示:
def parents
list = parent_profiles.uniq
list += parent_invitations.where(status_code: 0).uniq
list.sort_by { |p| [p.last_name, p.first_name]}
end
到目前为止一切顺利。稍后我使用以下实例变量来保存该集合:
@parents = @class_profile.parents
因此,在@parents
中,我会得到类似的结果:
[
#<ParentProfile id: 45, first_name: "John", last_name: "Collier", ...>,
#<ParentInvitation id: 122, first_name: "Sally", last_name: "Duncan", ...>,
#<ParentInvitation id: 54, first_name: "Jessica", last_name: "Eggers", ...>,
....
]
我对@parents
成员的显示逻辑略有不同,具体取决于他们是ParentProfile
还是ParentInvitation
,那么我怎样才能获得@parents
成员的模型} 属于?我假设必须有类似@parents[0].model
的东西,但这不起作用,我不知道实现这个的方法的名称。这是否存在?
答案 0 :(得分:2)
尝试@parents[0].class
这将返回对象的类名。如果它不起作用,请尝试@parents[0].class.to_s
。
答案 1 :(得分:0)
您可以使用is_a?
<{1}}来查看@parents[0].is_a? ParentProfile