0
私のレストランをすばやく絞り込むためのスコープを書きたいと思います。フィルタの最適範囲
scope :filter, lambda{|type_name, type_id| includes(type_name.to_sym).where(["#{type_name}.id in (?)", type_id]) }
ので...私は、URLを取得する場合:
.../search?service=1,2,3
を私はサービス1とレストランを取得したり、
私はフィルタがあり、この
@restaurants = Restaurant.all
@restaurants = filter(@restaurants)
def filter(restaurants)
restaurants = restaurants.filter('types', params[:type].split(',')) unless params[:type].nil?
restaurants = restaurants.filter('cuisines', params[:cuisine].split(',')) unless params[:cuisine].nil?
restaurants = restaurants.filter('facilities', params[:facility].split(',')) unless params[:facility].nil?
restaurants = restaurants.filter('services', params[:service].split(',')) unless params[:service].nil?
restaurants = restaurants.filter('prices', params[:price].split(',')) unless params[:price].nil?
return restaurants
end
ような何かを行います2 OR 3ですが、サービス1と2と3があるレストランをご希望です。 どうすればいいですか?それは可能ですか?
文字列/サービス/ 1,2,3などでdelete_at(string/service/1,2,3の操作はdelete_at)に問題があります: –
D'oh!Rails 2では配列として渡すと思います。パス構成要素の – jxpx777