Как я могу угадать имя действия из URL в Rails? - PullRequest
3 голосов
/ 06 января 2010

Например, у меня есть url , сгенерированный методами something_path или something_url. Мне нужно знать название действия по этому URL .

Ответы [ 4 ]

3 голосов
/ 06 января 2010

Тебе не нужно угадывать. Вы можете запустить rake routes из терминала / командной строки, чтобы получить список всех маршрутов в вашем приложении. Вывод включает используемый метод HTTP, а также контроллер и вызванное действие.

2 голосов
/ 08 января 2010

Система маршрутизации Rails работает двумя способами, она распознает и создает URL-адреса. Вам нужен метод признать_путь, как показано в следующем примере:

ActionController::Routing::Routes.recognize_path('/mycontroller/myaction', :method => :get)

Предполагая, что URL был создан с something_path или something_url, он возвращает:

{ :action => 'myaction', :controller => 'mycontroller' }

Из которого вы можете извлечь часть действия.

0 голосов
/ 07 февраля 2014

In Rails 3:

Rails.application.routes.recognize_path("http://example.ltd/registrants")
=> => {:action=>"index", :controller=>"registrants"}

Если вы находитесь в двигателе, События

Events::Engine.routes.recognize_path("/registrants")
=> {:action=>"index", :controller=>"events/registrants"}
0 голосов
/ 06 января 2010

Если вы находитесь в представлении, вы можете использовать

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