Приложение Rails с вложенными ресурсами, нужна помощь с SearchLogic
-
26-09-2019 - |
Вопрос
Я пытаюсь настроить SearchLogic на вложенные ресурсы. У меня есть категория has_many: Products также категория 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
Таким образом, он оказывает список доступных брендов для этой категории, а также отображать продукты в первом перечисленном бренде.
Если пользователь затем щелкает другой бренд из списка, пользователь доставлен в марку # Show Action.
#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
Я начал реализовывать поиски, установленные GEM и какой-то код на месте. Но когда он ищет, это удаляет категорию из URL Http: // localhost: 3000 / brands / 14? Поиск [Заказ] = ascend_by_price, пока не является серьезной проблемой, если она сработала, это не так. У меня есть панирумы, которые должны иметь доступ к соответствующей категории и информации бренда ...
Таким образом, в конце дня я пытаюсь научиться реализовать поиска для вложенных ресурсов. Может ли кто-нибудь направлять меня в этом путешествии?
end
Решение
Я смог заняться этим бегом по категории # Показать, но все еще не бренд # шоу. Исправление в категории # шоу было
` 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`
Бренды до сих пор не работают правильно, любые идеи?