Я построил базовый API с поддержкой Sinatra/Mongodb и попытаюсь выяснить, как фильтровать результаты на основе параметров, передаваемых через URL-адрес.Параметры интерфейса Sinatra от URL-адреса
Мой класс продукта:
class Product
include Mongoid::Document
include Mongoid::Timestamps
field :p_id, type: Integer
field :_id, type: Integer, default: -> { p_id }
field :title, type: String
field :price, type: BigDecimal
field :url, type: String
field :upc, type: Integer
field :bundle, type: Boolean
field :var, type: Boolean
end
Мой текущий маршрут, отображающий все продукты:
#localhost:9292/products
get '/products' do
@products = Product.all
rabl :products
end
Как я могу фильтровать, какие продукты отображаются в зависимости от того, что Params пользователь посылает. Например, если запрашиваемый URL-адрес равен localhost:9292/products/&bundle=1
Я хочу показать только те продукты, где bundle true, или если запрошенный url равен localhost:9292/products/&bundle=1&var=0
Я хочу отображать продукты, где bundle true, а var - false.