私はレール3を使用しています。マイグレーション内のレールのルールであるかどうかわかりません。データベーステーブルにデータを挿入できないようです。誰かがそれを確認できる場合はそうです。移行中にデータをデータベースに挿入できませんか?
私は、次のことを試してみました:
私は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
私はを得ましたfalse default_carをデータベースに保存しようとすると、default_userにnull car_id。
マイグレーションのため、は許可されていませんはデータベースにデータを格納しますか?
カーモデルには何らかのバリデーションがありますか? – fl00r
少しデバッグ: 'default_car = Car.new({:name => 'default_car'}); default_car.save(); puts default_car.errors' – fl00r
右!いくつかのバリデーションがあります。私は今それを変更しています。 "エラー"は場所を与える:) – Mellon