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\"