[обновление: не используя 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