2014-01-09 5 views
0

Я хочу, чтобы иметь возможность сортировать легко через пользовательскую модель. Таким образом, в представлении вы можете увидеть несколько вариантов сортировки. Выбор из двух переключателей, один для популярного и один для последнего. Для того, чтобы найти популярные пользователей (на основе своих последователей в счет):Rails сортировать сообщения, используя param-запросы

/people?sort=popular 

Или вы могли бы выбрать другую радиостанцию, чтобы просто найти самые последние пользователи:

/people?sort=latest 

Тогда из их вы можете выбрать флажок (где вы можете выбрать несколько), как most posts, чтобы найти пользователей с наибольшим количеством сообщений и которые являются наиболее популярными:

/people?sort=popular&posts=on 

и еще один флажок, чтобы найти пользователя, которые контакторов таблица (которая является логическим значением, хранящимся в таблице пользователя)

/people?sort=popular&posts=on&contactable=on 

Надеюсь, это имеет смысл. Dribbble делает это очень хорошо, когда вы сортируете своих дизайнеров. Может ли кто-нибудь указать мне в правильном направлении, чтобы выполнить это? Благодарю. Как только я получу общее представление о том, как это сделать, я могу добавить дополнительные параметры для сортировки. Кроме того, мне не нужен AJAX, поэтому обновлять страницу каждый запрос вполне нормально.

ответ

1

В Rails каждое действие контроллера имеет доступ к хэшу params. У хэша параметров есть много вещей, включая структуру ключа/значения для каждого элемента в строке запроса.

Так что в ваших people#index действий, вы будете иметь следующие доступны:

params[:sort] #=> value is "popular" 
params[:posts] #=> value is "on" 
params[:contactable] #=> value is "on" 

Вы можете передать их в качестве where пунктов к вашей модели пользователя.

Смежные вопросы