微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

rails3中的匹配路线仅适用于第一条路线

如何解决rails3中的匹配路线仅适用于第一条路线

| 我在控制器中捕获了静态页面的两条路由。
  match \"/pages/:page\" => \"pages#aboutus\"
  match \"/pages/:page\" => \"pages#team\"
我认为可以通过匹配\“ aboutus \”或\“ team \”来工作,但是路由似乎只能通过查找上面的第一项来工作。 我的控制器如下所示:
  def aboutus
  end  

  def team
  end
知道如何使路线进入正确的控制器入口吗? 谢谢!     

解决方法

它不能那样工作。 您所写的内容意味着该请求被分派给
pages
控制器的
aboutus
动作,参数中的ѭ4。你的ѭ5应该是什么? 另外,请阅读路由指南 如果您希望
/pages/aboutus
重定向到
pages#aboutus
,而
/pages/team/
重定向到
pages#team
,请执行以下操作:
match \"/pages/aboutus\" => \"pages#aboutus\"
match \"/pages/team\" => \"pages#team\"
    ,匹配与名称/值对中的名称相对。您可以改为执行以下操作:
match \"/pages/about-us\" => \"pages#aboutus\"
match \"/pages/team\" => \"pages#team\"
但是,如果您正在寻找用于处理静态页面的全局解决方案,那么我建议使用thinkbot进行高压处理: https://github.com/thoughtbot/high_voltage     ,对不起,这行不通。您正在尝试使用相同的网址转到两个不同的位置。要匹配的第一个参数是该URL在浏览器中的外观,并且您已经为这两个路由指定了完全相同的一个。 您需要以某种方式区分网址。 您是否真的要这样做:
match \"/pages/aboutus\" => \"pages#aboutus\"
match \"/pages/team\" => \"pages#team\"
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。