在 rails 中创建前缀路由

问题描述

我想使用 rails 创建 /suffix-<slug> 形式的 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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...