Dav*_*mpy 3 ruby ruby-on-rails digits sequence factory-bot
我需要生成类似于“ABC1”和“XYZ9”的标签序列——始终是三个字母后跟一个数字。我希望标签的两个部分都能逻辑递增,并且始终保持准确的格式和长度。
我开始于:
sequence(:code) { |n| "ABC#{n}" }
Run Code Online (Sandbox Code Playgroud)
这很好,但在第九个标签 ( ABC9) 之后,它转到 ( ABC10),违反了我的格式,并且只生成 10 个(或 9 个?)值。
使用字母序列和硬编码一位数字的快速修复可以使我的翻转问题不会发生26^3 => 17,576,这可能没问题。但是,我真的希望数字也有一些变化。随机数字可能就足够了......但我想要所有可用的值。
我考虑了一些有点笨拙的方法,从一两个序列构建字符串,以获得始终与格式匹配的综合值,但它们看起来很笨拙。
FactoryBot 中是否有一种优雅的方法来构建一个排序字符串,其中包含固定宽度的字母段,后跟固定宽度的数字段,以生成所有可能的值?
| 归档时间: |
|
| 查看次数: |
729 次 |
| 最近记录: |