Я использую Rails 3. Я не знаю, является ли правило рельсов внутри миграции, кажется, я не могу вставить данные в таблицу базы данных. Если кто-то может это подтвердить.Не удается вставить данные в базу данных при миграции?
Я попытался следующие вещи:
у меня есть две 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
little debug: 'default_car = Car.new ({: name => 'default_car'}); default_car.save(); puts default_car.errors' – fl00r
Право! есть несколько утверждений. Сейчас я меняю его. «ошибки» дают место :) – Mellon