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
Другие вопросы по тегам