Доступ к дочернему "текущему" объекту в рабл

Я хочу получить объект, на который ссылается дочерний узел, чтобы я мог сделать запрос.

Мой код выглядит так:

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 ответ

Решение

Попробуй это.

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

Извините за столь мало информации об этом, я спешу.

Другие вопросы по тегам