【问题标题】:Rails fixtures — Incrementing an ID attribute automatically?Rails 固定装置——自动增加一个 ID 属性?
【发布时间】:2014-12-02 02:06:35
【问题描述】:

我有一个 ID 如下的固定文件:

post_one:
  id: 1
  attr2: 'some_value'

post_two:
  id: 2
  attr3: 'some_other_value'

等等。

有没有一种方法可以让我不必为每条记录输入 id,并让它自动递增?

【问题讨论】:

  • 你可能想看看使用像 FactoryGirl (github.com/thoughtbot/factory_girl_rails) 这样的东西来生成你的测试数据。
  • FactoryGirl 更加灵活,但您是否尝试过省略 id 字段?您的 ID 字段是否会自动递增数字?
  • @NickVeys 我没有。这是个好主意:)

标签: ruby-on-rails ruby yaml fixtures


【解决方案1】:

如果您不指定 id,它将对标签进行哈希处理并将其用作 id。不指定 id 的一些好处:

  • 稳定的自动生成 ID
  • 关联的标签引用(belongs_to、has_one、has_many)
  • HABTM 关联作为内联列表
  • 自动填充的时间戳列
  • 夹具标签插值
  • 支持 YAML 默认值

有关灯具的更多信息,请参阅文档中的此页面:http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html

【讨论】:

  • 从 4.2 开始,实际上只有前三个是好处。 There are some more advanced features available even if the id is specified 列出最后三个。请参阅答案中提供的 api 链接
猜你喜欢
  • 1970-01-01
  • 2015-03-19
  • 1970-01-01
  • 2010-10-20
  • 1970-01-01
  • 1970-01-01
  • 2015-07-11
  • 2012-02-08
  • 1970-01-01
相关资源
最近更新 更多