在 rails 中创建前缀路由

Creating a prefix route in rails

我想创建形式为 /suffix-<slug> 和 rails 的 URL,但我看不到如何将其映射到 routes.rb,我该怎么做?

好吧,实现这一点的一种方法是将前缀视为 id 的一部分,然后在控制器中处理删除它:

routes.js

# Only for one place
post '/:id' , to: 'books#create', id: /prefix-.*/

# Same format in multiple places
constraints(id: /prefix-.*/) do
  post '/:id' , to: 'books#create'
  ...
  # Works with resources as well
  resources 'objects'
end 

控制器

def create
  params[:id].slice! "prefix-"
  ...
end