通过迁移插入新记录是一种很好的做法吗?最近,当从零开始重新运行本地迁移时,我遇到了一个奇怪的错误。它抛出这样的错误(例如:产品模型、成本栏):
undefined method 'cost=' for #<Product:0x10f60f4b8>
移徙:
class AddNewProducts < ActiveRecord::Migration
def self.up
product1 = Product.new
product1.cost = 10
....
product1.save!
end
end在以前的迁移中添加了列成本:
Class AddCosttoProducts < ActiveRecord::Migration
def self.up
add_column :product, :cost, :integer, :default => 0, :null => false
end
def self.down
remove_column product, :cost
end
end知道为什么会发生这种事吗?
发布于 2013-04-22 05:36:36
如果您已经运行了之前的迁移(以添加cost字段),请尝试在添加记录之前重置列信息。
class AddNewProducts < ActiveRecord::Migration
def self.up
Product.reset_column_information
product1 = Product.new
product1.cost = 10
....
product1.save!
end
endhttps://stackoverflow.com/questions/16140040
复制相似问题