在 rails 的 ruby 中定义自定义路由

Define custome routes in ruby on rails

我想用单个控制器和功能处理多个 url 段 这是示例:

1) https://www.somedomain.com/abc

2) https://www.somedomain.com/xyz/abc

如何在一行中定义路由,以便两个请求都可以用一个函数执行

就像这里我需要定义两条路线 得到“/:static_page”,到:"SomeController#action_name"

得到“/:static_page/:second_option”,到:"SomeController#action_name"

但是我怎样才能在一行中定义呢?或者可以通过任何其他方式管理此方法。

它被称为包罗万象,是搬起石头砸自己脚的好方法。

match '*path', to: 'some#action_name'

您必须密切注意排序(最后声明它),因为它会捕获与该模式匹配的任何其他路由 - 在这种情况下是所有内容。

它也是一个巨大的错误来源,因为 Rails 现在会接受任何抛给它的请求并将其传递给您的控制器,而不是引发路由错误。例如,那些讨厌的机器人会在您的网站上搜索 WordPress 漏洞。

如果你真的需要一些额外的非restful路由,只需正常声明它们,而不是将所有内容都集中到将成为控制器的怪物中。