Rails Rabl gem:根据父ID查询子项

时间:2017-12-15 14:14:11

标签: ruby-on-rails json ruby ruby-on-rails-3 rabl

rails方法:

def index
 user = Users.find(params[:user_id])
 @countries = user.countries
 @cities = user.cities
end

国家/地区模型has_many:cities

城市模型belongs_to:country

用户可以访问某些国家/地区和某些城市

相应的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)

我的目标是过滤@cities以仅包含当前父国家/地区的城市。

这在Rabl中是否可行?

1 个答案:

答案 0 :(得分:0)

您可以在Country模型上使用关联,而不是使用@cities的实例变量。

我会遇到的一个问题是,这是用户的索引方法吗?

这样的事情可能有用:

object @user
child :countries do
  child :cities do
    attributes :name, :coordinates
  end
end