У меня есть тестовая таблица Oracle со столбцом ID, который не первичный ключ, не автоинкремент и с определенной последовательностью no .Определено только NOT NULL
.Соответствующей структурой в схеме разработки является Oracle View, а не таблица с первичным ключом, определенным для столбца ID.
Мое определение фабрики выглядит следующим образом:
FactoryGirl.define do
factory :model do
id 'abc'
end
end
Эти тесты не пройдены
test "should build model 1" do
w = FactoryGirl.build(:model)
assert_not_nil w.id #fails - id is always nil
end
test "should build model 2" do
w = FactoryGirl.build(:model, :id => 'abc')
assert_not_nil w.id #fails - id is always nil
end
Я добавил attr_accessible :id
в мою модель (на всякий случай), но безуспешно.
Я также определил метод id=
в своей модели def id= id; @id = id; end
.Вызов метода и @id записывается, но выглядит так, как будто он перезаписывается позже в стеке вызовов (между FactoryGirl и ActiveRecord).
Обычно назначаются другие атрибуты.