Ruby on rails FactoryGirl表和列具有相同的名称,无法保存值
我有一个名为Ruby on rails FactoryGirl表和列具有相同的名称,无法保存值,ruby-on-rails,ruby-on-rails-3,factory-bot,Ruby On Rails,Ruby On Rails 3,Factory Bot,我有一个名为Image的Image模型,带有:text列,无法使用FactoryGirl保存Image字段 以下是相关的代码: image_spec.rb: let(:image) { FactoryGirl.create(:image) } subject { image } it { should be_valid } factories.rb: factory :image do image "123456789.jpg" end image.rb: attr_access
Image
的Image
模型,带有:text列,无法使用FactoryGirl保存Image
字段
以下是相关的代码:
image_spec.rb:
let(:image) { FactoryGirl.create(:image) }
subject { image }
it { should be_valid }
factories.rb:
factory :image do
image "123456789.jpg"
end
image.rb:
attr_accessible :image
validates :image, presence: true
当我运行测试时,我得到了错误
Failure/Error: let(:image) { FactoryGirl.create(:image) }
ActiveRecord::RecordInvalid:
Validation failed: Image can't be blank
对于上面的图像规范rb
中的所有三行
我试过申请,但没能成功。(FactoryGirl为我的其他模特创作的作品效果很好)
如何分配给与其表同名的列?尝试以下操作:
FactoryGirl.define do
factory :image do |i|
i.some_attr 'xxx'
i.image "123456789.jpg"
end
end
这样,您实际上调用了image对象的image=方法,而factory girls则认为您正在尝试创建关联
(不管怎么说,您确实为该列使用了一个令人困惑的名称:p、image_path或类似的名称会更好)