在测试我的简单应用的照片模型时,我有一个非常错误的错误。
我的照片规格
describe Photo do
before { @photo = Photo.create!(image: "5513770961_a73024a244_z.jpg", wraper: true, to_slider: true) }
subject { @photo }
it {should respond_to(:image)}
it {should respond_to(:wraper)}
it {should respond_to(:to_slider)}
it {should be_valid}
end
当此规范执行时,它会返回一个奇怪的错误
Failure/Error: before { @photo = Photo.create!(image: "5513770961_a73024a244_z.jpg", wraper: true, to_slider: true) }
ActiveRecord::RecordInvalid:
Validation failed: Image can't be blank
我的测试数据库已准备好并加载,不能简单地弄清楚这个...... 谢谢你的帮助..)
照片模特:
class Photo < ActiveRecord::Base
attr_accessible :image, :gallery_id, :wraper, :to_slider
belongs_to :gallery
validates :image, presence: true
mount_uploader :image, ImageUploader
end
答案 0 :(得分:1)
请不要给图像名称提供像
这样的完整路径使图像属性可访问
将此行添加到模型
attr_accessible:image
例子:---
before { @photo = Photo.create!(image: "#{Rails.root}/spec/images/5513770961_a73024a244_z.jpg", wraper: true, to_slider: true) }