我是Ruby on Rails的新手,所以你原諒自己,如果問題很傻...如何獲取最後一個ActiveRecord查詢數據?
我有一個表和兩種形式,第一種形式是過濾(通過複選框),第二種是搜索表格。
我想要的是用已經應用的過濾器搜索表格。我真的不知道要做什麼......我如何從控制器搜索方法訪問「已經過濾」的數據。
的源代碼:
prices_controller.rb
def filter()
@prices = Price.where(date: Date.today).order(price: :asc)
if params[:filter1] != nil
@prices = @prices.where('filter1_field IN (?)', params[:filter1])
end
if params[:filter2] != nil
@prices = @prices.where('filter2_field IN (?)', params[:filter2])
end
respond_to do |format|
format.js
end
end
def search()
# Here I would like to use filtered prices, not all prices
@prices = Price.where(date: Date.today).order(price: :asc)
if params[:search] != nil
@prices = @prices.where('name LIKE ?', "%#{params[:search]}%")
end
end
它的工作原理,但我不使用過濾值... 是否有什麼辦法可以挽救的最後一個查詢或類似的東西。我嘗試返回到ActiveRecord :: Relation的搜索方法,但在此類中不存在的方法。其他替代方法是使用相同的形式進行過濾和搜索。
我接受任何類型的建議。
非常感謝。
兩個網頁過濾器1有/過濾器2? – Ven
在同一頁面中,有兩種形式和一張表格。第一種形式的操作是過濾器,參數是filter1和filter2。第二種形式的行爲是搜索,參數是搜索。 – Antonio
好吧,所以這兩種形式是兩種不同的動作 – Ven