当有人创建这样的订单时,我需要保存一个自定义的自动增量字符串:
ID | CUSTOM_ID
1 | product-001
2 | service-001
3 | service-002
4 | product-002
ruby on rails 限制查询的最佳方法是什么?
当有人创建这样的订单时,我需要保存一个自定义的自动增量字符串:
ID | CUSTOM_ID
1 | product-001
2 | service-001
3 | service-002
4 | product-002
ruby on rails 限制查询的最佳方法是什么?
这里有一个叫做 Protokoll 的宝石,正如描述所说:Protokoll is a simple Rails gem to create custom autoincrement values to a database column
,以前从未使用过它,但你看看这是否是你要搜索的。希望这对你有帮助
如果您正在生成用于搜索的 slug,请尝试使用friendly_id gem。它会创建这样的字符串并有很多配置选项(例如,何时创建或更改 slug)。
编辑:你正在寻找的before_create
. 像这样使用它:
before_create :add_custom_id
def add_custom_id
self.custom_id = "service_#{id}" # whatever you need
end
它将add_custom_id
在数据库中创建新实例之前运行该方法。
有关 ActiveRecord::Callbacks 的更多信息可以在文档中找到