首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有嵌套资源的Rails应用程序,需要有关SearchLogic的帮助

具有嵌套资源的Rails应用程序,需要有关SearchLogic的帮助
EN

Stack Overflow用户
提问于 2010-09-29 23:35:59
回答 1查看 164关注 0票数 0

我正在尝试在嵌套资源上设置搜索逻辑。我有类别has_many :产品也有类别has_many :品牌到:产品

所以从结构上讲,它的类别/品牌/产品

当用户浏览站点时,他们单击一个类别,该类别使用Category#show操作。

代码语言:javascript
复制
#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操作。

代码语言:javascript
复制
#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中删除类别,虽然这不是一个大问题,如果它的工作,它没有。我有面包屑,需要有访问相关的类别和品牌信息…

所以,在这一天结束的时候,我正在尝试学习如何在嵌套资源上实现搜索逻辑。在那段旅程中,有人能指引我前进吗?

代码语言:javascript
复制
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-05 01:44:48

我能够让它在category#show上运行,但仍然不能在Brand#show上运行。Category#show中的修复是

代码语言:javascript
复制
`     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

      @search = @category.products.search(params[:search])
      @products = @search.paginate(:conditions => {:brand_id => @brand}, :page => params[:page])
      render :template => 'brands/show'
    end
    format.xml  { render :xml => @category }
  end
end`

品牌仍然不能正常工作,有什么想法吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3823181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档