Как мне переписать мою функцию сортировки для поиска конкретной строки? - PullRequest
0 голосов
/ 07 января 2012

Я создаю систему фильтрации для своего веб-сайта, которая позволяет пользователям выбирать категорию продуктов, например «книги», и отображать все результаты, относящиеся к этой категории.Код, который я использую, взят из Railscast # 228 Столбцы сортируемой таблицы как мне переписать его для поиска определенной строки в столбце «категория»?Большое спасибо !!

Контроллер продуктов

class ProductsController < ApplicationController
 helper_method :sort_column, :sort_direction

 def sort_column
  Product.column_names.include?(params[:sort]) ? params[:sort] : "name"
 end

 def sort_direction
  %w[asc desc].include?(params[:direction]) ? params[:direction] : "asc"
 end
end

Помощник

def sortable(column, title = nil)
 title ||= column.titleize
 css_class = column == sort_column ? "current #{sort_direction}" : nil
 direction = column == sort_column && sort_direction == "asc" ? "desc" : "asc"
 link_to title, {:sort => column, :direction => direction}, {:class => css_class}
end

HTML

<tr>
<th><%= sortable "name" %></th>
<th><%= sortable "price" %></th>
<th><%= sortable "released_at", "Released" %></th>
</tr>

1 Ответ

0 голосов
/ 08 января 2012

Понял, на самом деле это было довольно легко, я создал новую функцию и вместо использования строк (которая не работала) я использовал id #s, а затем подключил «sort_category» к моей функции Solr для поиска.

def sort_category
params[:category] ? params[:category] : 1..12
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...