我是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