Доступ к имени страницы / конечной части URL в Rails - PullRequest
1 голос
/ 08 февраля 2012

Я хотел бы получить доступ к названию страницы изнутри страницы. Например, если страница была «somesite / contact», я хотел бы получить «contact». Если бы это было "somesite / signup", я бы получил "signup" и т. Д.

Очевидно, я мог бы убрать это из URL страниц, используя request.fullpath и некоторые RegeX, но должен быть более объектно-ориентированный способ его получения?

Ответы [ 3 ]

3 голосов
/ 08 февраля 2012

Если вы находитесь в поле зрения, позвоните controller.action_name.Если вы находитесь в контроллере, просто позвоните action_name.Это предполагает RESTful дизайн.

1 голос
/ 08 февраля 2012

Если у вас есть хороший контроль над вашими URL (имеется в виду, если вы знаете , какой тип будет в конце URL-адреса), вы можете использовать хеш params, *Клавиши 1004 * и :action могут вас заинтересовать.

В противном случае я предлагаю разделить request.fullpath на '/' и взять последний элемент.

0 голосов
/ 06 апреля 2016

Вы можете использовать request.path, он даст все данные, после чего вы можете использовать функцию split, а затем вы можете сохранить значения в другой переменной. Здесь я использовал две переменные. Вы можете использовать больше переменных в соответствии с вашими потребностями
ресурс, id = request.path.split ('/') [1, 2]

...