Как я могу удалить значения запроса из моей ссылки Rails? - PullRequest
0 голосов
/ 04 декабря 2010

В моем приложении на Rails 3 я перечисляю много элементов на домашней странице. Некоторые из них неясны, и я хотел бы ограничить свой список только популярными элементами, если пользователь не щелкнет по конкретной ссылке, которая в основном «обнуляет» ограничитель.

То, что у меня сейчас работает, но когда пользователь выбирает «Показать все элементы», я получаю уродливый URL:

http://myapp.com/?limiter=0

Можно ли как-то убрать это, чтобы пользователь не увидел уродливый атрибут в конце URL?

Ответы [ 2 ]

1 голос
/ 06 декабря 2010

Нет, не используйте POST. Предполагается, что POST используется только при изменении состояния сервера. Используйте AJAX GET, если вам действительно нужно это сделать.

Еще лучше, привыкнуть к таким параметрам GET. Это нормально. И так по какой-то причине: он позволяет делать закладки на ресурсы, включая любые настройки, необходимые для воспроизведения запроса позже.

Читайте об отдыхе. Узнать его. Переживи это. Люблю это.

0 голосов
/ 04 декабря 2010

Есть несколько подходов, которые вы можете использовать. Вероятно, наиболее очевидным является отдельная страница для вашего show_all. Похоже, вы пытаетесь сделать слишком много с вашей домашней страницей.

Если они должны быть на главной странице, а ваша ссылка также находится на главной странице, вы можете использовать вызов ajax для загрузки своих товаров без необходимости перенаправления на этот URL.

Наконец, я полагаю, вы могли бы попытаться проложить маршрут именно для этой ситуации. У меня нет опыта работы с маршрутами Rails3, поэтому я не могу предложить какой-либо синтаксис.

Правда, это пахнет проблемой дизайна приложения, а не технической проблемой. Я настоятельно рекомендую вам переосмыслить то, как вы пытаетесь это сделать. Это не похоже на функцию, которая подходит для размещения на вашей домашней странице. Создайте отдельное действие show_all.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...