访问孩子"当前" rabl中的对象

时间:2016-10-02 01:26:51

标签: ruby-on-rails rabl

我想获取子节点所引用的对象,因此我可以进行查询。

我的代码如下所示:

child @course_types => :course_types do |course_type|
  attributes :id, :name, :deleted
  child CourseTypeCategory.where(course_type: course_type, active: true) => :category_position do
    attributes :category_id, :position
  end
end

此查询CourseTypeCategory.where(course_type: course_type, active: true)的结果始终返回相同的结果,就好像course_type始终与呈现的每种类型相同(在这种情况下,我怀疑始终是@course_types的第一个对象) 。有没有办法获得"当前对象"如果你正在做一个循环(如each do)?那么孩子会进行查询?

如果问题混乱,请提前致谢并抱歉。

1 个答案:

答案 0 :(得分:1)

试试这个。

child @course_types => :course_type do
    attributes :id, :name, :deleted
    node(:course_type_category) do |course_type|
        CourseTypeCategory.where(course_type: course_type, active: true).collect do |category|
            {category_id: category.id, position: category.position }
        end
    end
end

很抱歉这方面的信息很少,我很匆忙。