[обновление: не используя rake routes
, просто чтобы немного лучше понять консоль Rails]
Похоже, что внутри "консоли rails" для 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