如何解决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 举报,一经查实,本站将立刻删除。