Rails Rabl gem: запрос дочернего на основе родительского идентификатора
Метод рельсов:
def index
user = Users.find(params[:user_id])
@countries = user.countries
@cities = user.cities
end
Модель страны has_many: города
Модель города принадлежит: стране
Пользователь имеет доступ к определенным странам и определенным городам
Соответствующий файл json.rabl:
object false
child @countries do
child @cities.where(country_name: country.name) do
attributes :name, :coordinates
end
end
Мой вопрос о child @cities.where(country_name: country.name)
Моя цель состоит в том, чтобы отфильтровать города @ так, чтобы они включали только города для текущей родительской страны.
Это возможно в Рабле?
1 ответ
Вместо использования переменной экземпляра для @cities
, вы можете использовать ассоциацию на вашей модели страны.
Единственный вопрос, который у меня возникнет, это метод индекса для пользователя?
Нечто подобное может работать:
object @user
child :countries do
child :cities do
attributes :name, :coordinates
end
end