2012-05-16 2 views
0

가격, 색상, 제조업체, 모델 등이있는 품목이 있습니다. 가격 범위, 제조업체, 모델별로 항목을 동시에 필터링하도록합니다. 예 : 제조업체 "Ford", 모델 "Mustang"및 가격이 1k에서 10k 인 모든 차량을 보여줍니다.필터 양식을 사용하여 일부 값으로 항목을 필터링하는 방법은 무엇입니까?

페이지 매김 결과에 대해서는 will_paginate (그리고 ajax로 양식 제출)를 사용하고 싶습니다. 내 문제를 해결하기 위해 몇 가지 "첫 번째 벽돌"또는 "첫 걸음"을 찾고 있습니다. 내가 좋은 새로운 자습서를 놓칠 경우, pls는 링크를 제공 주시기 :)

답변

1

이 컨트롤러의 경우 쿼리와 같은 것을 수행

@records = Stuff.select("stuffs.*") 

@records = @records.where("model = ?", model) if filter_car 
@records = @records.where("price >= ? and price <= ?", price) if filter_price 
@records = @records.paginate(:page => params[:page], :per_page => params[:per_page]) 
+0

들으을, 당신이 말한 것처럼 내가했다. 다른 멋진 변종이 있다면, 나는 들어 줄 준비가되어있다 :) – bravedick

+0

나중에 여기에 오는 사람들을 위해 컨트롤러 대신 모델에 이것을 넣는 것이 더 나을 것이다. 귀하의 컨트롤러 슬림 유지 :) –

관련 문제