Rails3を使用しています。移行内でデータベーステーブルにデータを挿入できないように見えるのがRailsのルールかどうかはわかりません。誰かがそれを確認できればそうです。
私は次のことを試しました:
私は2つの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をデータベースに保存しようとすると、falseになり、default_userのcar_idがnullになります。
移行時にデータベースにデータを保存できないためですか?