我是rails世界的新手,我正在尝试使用我的搜索模型实现will_paginate。搜索模型负责搜索产品。
我的问题是我无法弄清楚如何让will_paginate适用于这两个模型,因为产品是由搜索模型显示的,而且will_paginate只处理控制器,我花了几天试图做这个工作,但没有运气:(
这是我的Search.rb
class Search < ActiveRecord::Base
def search_products
products = Product.all
products = products.where(["modelo LIKE ?","%#{modelo}%"]).order(created_at: :desc) if modelo.present?
products = products.where(["preco >= ?",min_price]) if min_price.present?
products = products.where(["preco <= ?",max_price]) if max_price.present?
products = products.where(["troca LIKE ?","%#{troca}%"]) if troca.present?
products = products.where(["estado_id LIKE ?","%#{estado_id}%"])
return products
end
端
搜索控制器
def show
@search = Search.find(params[:id])
@estado = Estado.all
@products = @search.search_products.paginate(:page => params[:page], :per_page => 2).order('id DESC')
end
和搜索节目
<%= will_paginate @products%>
我认为这是遗漏的东西; S请大家,给我一个如何解决这个问题的北方; S
ps:使Search i跟随Railscast教程。