Ben iki model var:Raylar serialize ilgili veriler
class ContinentsController < ApplicationController
def index
@continents = Continent.all
render json: @continents
end
end
ve seri hale:
İşteclass ContitnentSerializer < ActiveModel::Serializer
attributes :name, :countries
end
Sorunum başlar
class Continent < ActiveRecord::Base
has_many :countries
end
class Country < ActiveRecord::Base
belongs_to :continent
end
ben gibi denetleyici yarattı. Yalnızca, değerin HTTP GET params'ından geldiği durumun verildiği ülkeleri serileştirmek istiyorum. E.g ülke dizelleştiricinin yalnızca popülasyonun params [: popülasyon] 'dan fazla olması durumunda görüntülenmelidir. Sorun, serileştiricinin içinde, bunu incelemek için paramize erişimimiz yok.
[
{
name: 'Europe'
countries: [
{
name: 'Italy',
population: 1000000
}
]
},
{
name: 'Africa'
countries: [
]
}
]
Tabloya koşuluyla katılmayı denedim, ancak çalışmıyor gibi görünüyor.
@continents = Continent.all.joins("LEFT JOIN countries ON countries.continent_id = continents.id AND countries.population > #{params[:population]}")
Diziselleştiriciye denetleyiciden bir parametre iletebilirsiniz. Burada daha fazla ayrıntı: http://stackoverflow.com/a/26780514/1466095 –