Приложение Rails с вложенными ресурсами, нужна помощь с SearchLogic
Я пытаюсь настроить 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 ответ
Я смог запустить это на показе категории #, но все еще не показ Бренда #. исправление в категории # шоу было
` 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`
Бренды все еще не работают правильно, есть идеи?