我目前正在将多个页面路由到同一个控制器方法:
type_regexp = Regexp.new([ :members, :businesses, :artists, :piercers, :models, :event_coverage].join('|'))
get ':type', to: 'users#group', constraints: { type: type_regexp }
每个人都是一个群组名称,其中' is_private'字段是假的。是否可以做这样的事情,所以我不必写出每个组名:
type_regexp = Regexp.new(Group.where('SELECT name WHERE is_private = false').join('|'))
get ':type', to: 'users#group', constraints: { type: type_regexp }
当然上面的内容永远不会奏效,希望我明白了。我希望能够在创建更多组并且必须更新路由文件时不用担心。
谢谢!
答案 0 :(得分:0)
我相信您的路线是在应用程序启动时设置的,而不是每次请求时都会设置的。所以现在你无法做你的榜样。你应该在控制器中执行类似的操作。如果没有任何内容与您的正则表达式匹配,您只需呈现404
。