Я использую 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
Я получил false , когда я пытаюсь сохранить default_car в базу данных, а мой default_user имеет null car_id.
Это потому, что при миграции НЕ разрешено хранить данные в базе данных ??