Как получить символ "#" в: id в метод redirect_to в Rails - PullRequest
1 голос
/ 25 мая 2010

это глупые вопросы, но я не понимаю, почему rails не оценивает мою строку, как ожидалось. Вот моя проблема:

Я хочу перенаправить на URL в виде ~ /: controller / index / # _ 76

  redirect_to :action => "index", :id => '#_76'

Но я получаю URL-адрес в виде: ~ /: controller / index /% 25_76, и поэтому якорь для ссылки на определенное место на сайте не работает. Может кто-нибудь объяснить мне, почему рельсы делают этот рендеринг? Я думаю, что это как-то связано с кодировкой URL.

Еще раз спасибо за вашу помощь, я каждый день узнаю немного больше о рельсах:).

1 Ответ

3 голосов
/ 25 мая 2010

Таким образом, ваша цель - не "вставить символ" # "в URL". В этом вы преуспели: вам был возвращен URL с закодированным в него символом "#".

Что вам нужно, это «перенаправление на определенный якорь». Вам не нужно делать хакерские трюки, чтобы привести его в URL:

redirect_to :action => "index", :anchor => "_76"

Скорее всего, вы захотите отсоединить действие :id от действия index, поскольку index - это страница, относящаяся к контроллеру в целом, а не для каждого конкретного элемента.

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