更改seed.rb数据的created_at

Cha*_*hap 3 ruby activerecord ruby-on-rails

我正在使用seeds.rb将一些虚拟数据加载到我的项目中.

我想为我的记录使用随机的created_at日期,但created_at日期在创建时始终设置为Time.now.

  #seeds.rb
  Project.create :name => 'Dummy Project',
                 :created_at => Date.today - rand(10).days
Run Code Online (Sandbox Code Playgroud)

Cha*_*hap 8

这有效:

p = Project.create :name => 'Dummy Project'
p.update_attribute :created_at, (rand*10).days.ago
Run Code Online (Sandbox Code Playgroud)


shi*_*ara 8

project = Project.create(:name => 'Dummy Project')
project.created_at = (rand*10).days.ago
project.save
Run Code Online (Sandbox Code Playgroud)

创建期间无法定义created_at.它只能在事后改变.