我使用rails/mongoid为我的模型创建动态类。每当我访问记录时,我想自动包括某些关联的记录(属于,有一个)。因此,我需要在as\U json函数中包含所有这些关联。
“associations”方法为我提供了所有关联的模型,但我只需要过滤我想要包含的关联类型(如果我包含has\u many关联,我将得到一个非常耗时的数据库请求,我不需要这些数据)。如何过滤association方法的输出以仅获取所需的关联?
我试着遍历所有关联:
def as_json(options={})
selected_associations=[]
associations.each do |ass|
puts "Association:: ", ass, ass=>relation
if association=='Belongs_To'
selected_associations.push(ass)
end
end
attrs = super(:include => selected_associations)
end
Puts在控制台上为每个关联提供以下输出(实体是一个模型):
关联:
实体
{:关系=>Mongoid::关系::引用::多,:扩展=>零,:反向\u class\u name=>“WSAEntity”,:name=>“entities”,:class\u name=>“WSAEntity”,:验证=>true}
如何评估“:关系=>…”属性,以便我可以使用它来选择所需的关联类型并更正上面的代码?或者有更好的方法获得包含所有筛选关联的数组?
谢谢
迈克尔