0

ネストされたリソースでsearchlogicを設定しようとしています。カテゴリ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
4

1 に答える 1

0

これをカテゴリ#ショーで実行できましたが、まだブランド#ショーでは実行できませんでした. Category#show の修正は

`     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`

ブランドはまだ正しく機能しません。何かアイデアはありますか?

于 2010-10-04T17:44:48.303 に答える