【发布时间】:2010-09-29 15:35:59
【问题描述】:
我正在尝试在嵌套资源上设置搜索逻辑。我有类别 has_many :products 也类别 has_many :brands through :products
因此在结构上它的类别/品牌/产品
当用户浏览网站时,他们单击一个类别,该类别使用 Category#show 操作。
#Category_controller
def show
@category = Category.find_by_url_name(params[:id])
@brands = @category.brands
@categories = Category.find(:all)
@meta_title = "#{@category.name}"
respond_to do |format|
format.html do |wants|
@brand = @brands.first
@products = @category.products.paginate(:conditions => {:brand_id => @brand}, :page => params[:page])
render :template => 'brands/show'
end
format.xml { render :xml => @category }
end
end
因此它呈现该类别的可用品牌列表,并显示第一个列出品牌中的产品。
如果用户随后从列表中点击了不同的品牌,用户将被带到 Brand#show 操作。
#Brands_controller
def show
@category = Category.find_by_url_name(params[:category_id])
@brand = Brand.find(params[:id])
@search = Product.search(params[:search])
@products = @search.paginate(:conditions => {:brand_id => @brand, :category_id => @category}, :page => params[:page])
@meta_title = "#{@brand.name}"
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @brand }
end
我已经开始实现 Searchlogic,安装了 gem,并准备了一些代码。但是当它搜索时,它会从 url 中删除类别 http://localhost:3000/brands/14?search[order]=ascend_by_price 虽然如果它有效,它不是一个主要问题,但它没有。我有需要访问相关类别和品牌信息的面包屑...
所以最后我想学习如何在嵌套资源上实现 Searchlogic。有人可以指导我完成那段旅程吗?
end
【问题讨论】:
标签: ruby-on-rails ruby will-paginate searchlogic