Rails路由:需要正则表达式永久链接

时间:2014-02-26 08:20:14

标签: ruby-on-rails ruby regex ruby-on-rails-3 ruby-on-rails-4

我的routes.rb

中有以下路线
constraints(category: REGEX_PERMALINK, course: REGEX_PERMALINK, lecture: REGEX_PERMALINK) do
  get '/:category', to: 'notes#index'
  get '/:category/:course', to: 'notes#index'
  get '/:category/:course/:lecture', to: 'notes#index'
end

REGEX_PERMALINK/\d.+/。当我转到localhost:3001/admin时,:category设置为admin。这是错的,我不会去管理。 :category:course:lecture仅以id开头,然后是slug / permalink /。例如:localhost:3001/1-foo/2-bar/3-mecategory: 1-foocourse: 2-barlecture: 3-me。你们可以为REGEX_PERMALINK写一个正则表达式。

感谢您的帮助:D

1 个答案:

答案 0 :(得分:2)

尝试按照RegEx

^ \ D- \ W +

这意味着,以数字后跟破折号和\ w开头的表达式将匹配任何单词字符(字母,数字,下划线)。 +表示一次或多次。