gpt4 book ai didi

ruby-on-rails - 在Rails中,如何查看Rails的路由添加的所有 "path"和 "url"方法? (更新: using Rails console)

转载 作者:行者123 更新时间:2023-12-03 06:05:26 24 4
gpt4 key购买 nike

[更新:不使用rake paths,只是为了更多地了解 Rails 控制台]

似乎在Rails 3的“rails控制台”内部,我们可以使用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

最佳答案

Rails 3.x–6.x

Rails.application.routes.named_routes.helper_names

Rails 2.x

helpers = Rails.application.routes.named_routes.helpers

这将为您提供所有已创建的命名路由方法。然后你可以执行 helpers.map(&:to_s) 以及你想要获取 foo 版本的任何正则表达式

关于ruby-on-rails - 在Rails中,如何查看Rails的路由添加的所有 "path"和 "url"方法? (更新: using Rails console),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5345757/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com