ruby-on-rails – 检查Rails 3中是否存在路由
发布时间:2020-12-17 03:00:37  所属栏目:百科  来源:网络整理 
            导读:我们可以检查/测试Rails中是否存在路由? 例如,我想显示一个导航栏,它应显示所有菜单的URL,无论URL是否存在. (两者之间不同,破碎的网址会使用不同的样式). 显示每个菜单的代码如下所示: %li= link_to_unless_current menu.name,:controller = menu.controll
                
                
                
            | 
                         
 我们可以检查/测试Rails中是否存在路由? 
  
  
例如,我想显示一个导航栏,它应显示所有菜单的URL,无论URL是否存在. (两者之间不同,破碎的网址会使用不同的样式). 显示每个菜单的代码如下所示: %li= link_to_unless_current menu.name,:controller => menu.controller,:action => menu.action 但是,如果提供的控制器和操作路由不存在,Rails会投诉并抛出异常. 在我执行上述代码之前,Rails是否有检查功能?也许,看起来像这样: -if some_function_to_check_route_existence?(:controller => menu.controller,:action => menu.action) 编辑: 我没有使用菜单的“控制器”和“操作”列,而是使用“url”列.现在,我可以这样做: - if Menu.root
      - for menu in Menu.root.self_and_descendants
        - if menu.url
          %li= link_to_unless_current menu.name,menu.url
        - else
          %li= menu.name 
 我也可以使用rails函数来确定路由的存在,例如: Rails.application.routes.recognize_path 解决方法
 那这个呢: 
  
  
  
        <% link_to @post.title,post_path if post_path %> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
