Приложение Rails с вложенными ресурсами, нужна помощь с SearchLogic - PullRequest
0 голосов
/ 29 сентября 2010

Я пытаюсь настроить searchlogic на вложенных ресурсах. У меня есть категория has_many: продукты также Категория has_many: бренды через: продукты

Так что структурно его категория / марка / продукт

Когда пользователь перемещается по сайту, он выбирает категорию, в которой используется действие Категория # шоу.

#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

1 Ответ

0 голосов
/ 04 октября 2010

Я смог запустить это на показе категории #, но все еще не показ бренда #.исправление в категории # было:

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

Бренды все еще не работают правильно, есть идеи?

...