Я следовал учебнику по сортировке rails3, не уверен, какой именно, и я получил его на работу. У меня есть таблица, и в зависимости от нажатой кнопки, я хотел иметь возможность сортировки по одному из столбцов.
Вот пример кнопок:
<% = link_to "Время",: sort => "транзитное время"%>
Столбец выглядит так:
<% = result.transit_time%>
(очевидно, несколько раз)
В контроллере я изначально сделал:
@ results = Result.order (params [: sort])
И это сработало.
Тем не менее, теперь я добавил предложение where для возможности более конкретного запроса, поэтому мой запрос выглядит следующим образом:
@ results = Result.where ("(НЕ (поезд) ИЛИ: traincheckbox) И...: End_location => params [: end_location]}). Order (params [: sort])
ЭТО НЕ Дольше работает. Причина в том, что когда я нажимаю кнопку, она перезагружает страницу и удаляет всю строку запроса. Когда я впервые загружаю страницу, строка запроса выглядит так:
"http://localhost:3000/results?utf8=%E2%9C%93&start_address=24+Grosvenor+Square&start_l. .Etc."
и как только я нажимаю одну из кнопок сортировки, это превращается в это:
http://localhost:3000/results?sort=escore
Все мои результаты исчезают, потому что в строке запроса ничего нет, ничего не нужно передавать в предложение WHERE.
ЛЮБАЯ ИДЕЯ, КАК СОХРАНИТЬ НАСТОЯЩИЕ ПАРАМЫ?
Извините, что долго, но я относительный новичок в рельсах, и мне нужна помощь.
Спасибо!