#ruby-on-rails #rabl
#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). Есть ли способ получить «текущий объект» дочернего объекта и выполнить запрос, как если бы вы выполняли цикл (например, an 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
Извините за так мало информации об этом, я вроде как спешу.