我正在使用Rails 3。我不知道内部迁移是否是rails的规则,似乎我无法将数据插入数据库表中。如果有人可以确认是这样。
我尝试了以下事情:
我有两个 ActiveRecord 模型:
class Car < ActiveRecord::Base
has_many :users
...
end
class User < ActiveRecord::Base
belongs_to :car
...
end
我已经生成了一个迁移文件,在我的迁移中:
def self.up
default_car = Car.new({:name => 'default_car'})
default_car.save() #I got 'false' here
User.create!(:car_id => default_car.id}) #I got default_car.id is null value
end
def self.down
default_car = Car.find({:name => 'default_car'})
default_user = User.find({:car_id=>default_car.id})
default_car.delete
default_user.delete
end
当我尝试将 default_car 保存到数据库时,我得到了错误,而我的 default_user 的car_id为空。
是不是因为在迁移中,不允许将数据存储到数据库中?