Подтвердить что ты не робот

В Rails, как увидеть все методы "path" и "url", добавленные маршрутизацией Rails? (обновление: с помощью консоли Rails)

[обновление: не используя rake routes, просто чтобы понять консоль Rails немного]

Кажется, что внутри "rails console" для Rails 3 мы можем использовать controller, но в Rails 2.2 или 2.3 нам нужно использовать @controller

И в Rails 3 мы можем распечатать все маршруты, добавленные маршрутизацией Rails для эшафот foo:

ruby-1.9.2-p0 > puts controller.public_methods.grep(/path|url/).grep(/foo/).sort.join("\n")
edit_foo_path
edit_foo_url
foo_path
foo_url
foos_path
foos_url
new_foo_path
new_foo_url

но в Rails 2.3.8 он дает кучу formatted_foos_path и т.д., и ничего не дает для Rails 2.2.2. Как распечатать его для Rails 2.3.8 и 2.2.2?


Подробности для Rails 2.3.8:

ruby-1.8.7-p302 > puts @controller.public_methods.grep(/path|url/).grep(/foo/).sort.join("\n")
formatted_edit_foo_path
formatted_edit_foo_url
formatted_foo_path
formatted_foo_url
formatted_foos_path
formatted_foos_url
formatted_new_foo_path
formatted_new_foo_url
4b9b3361

Ответ 1

helpers = Rails.application.routes.named_routes.helpers

Это даст вам все созданные им методы маршрутизации. Затем вы можете сделать helpers.map(&:to_s) и любое регулярное выражение, которое вы хотите получить в своих версиях foo

Ответ 2

Хорошо в Rails 4, я использую rake routes. Вам это нужно?

Ответ 3

или загрузите localhost_path/rails/info/routes в свой браузер.