gpt4 book ai didi

ruby-on-rails-3 - 如何在 View 中检查 Rails 路线的存在

转载 作者:行者123 更新时间:2023-12-04 07:16:14 24 4
gpt4 key购买 nike

我想要这样的东西:

if has_route?(:controller => 'posts', :action => 'index')
...

如何在 View 中执行此操作?

---- 解决方案----

def has_route? options
Rails.application.routes.routes.map{|route| route.defaults}.include?(options)
end

最佳答案

我知道这与您想要的有点相反,但您可以这样做:

Rails.application.routes.recognize_path('/posts')

这将返回这样的哈希:

{:controller=>"posts", :action=>"index"}

但我不知道有什么 API 可以为它提供哈希值并返回路径。

您可以查看 ActionDispatch::Routing::RouteSet API。

另外,请注意 Rails.application.routes.routes 返回一个 Journey::Routes 对象数组,因此您可以映射 这个数组用于 Controller / Action 配对你要。但似乎这个 API 应该已经存在了。如果没有,也许应该。 :)

关于ruby-on-rails-3 - 如何在 View 中检查 Rails 路线的存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13650423/

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