0

在我的Rails 3.2.2项目,我有以下几点:为什么我的Paperclip validates_attachment_presence测试失败?

class Photo < ActiveRecord::Base 
    belongs_to :album 
    default_scope order: :title 

    extend FriendlyId 
    friendly_id :title, :use => :slugged 
    validates :title, :presence => true 
    validates :title, :uniqueness => {:scope => :album_id} 
    validates :file, :attachment_presence => true 

    has_attached_file :file, :path => (Rails.root + "photos/:id/:style/:filename").to_s, 
          :url => "/photos/:style/:id", 
          :styles => { :small => "450x450>"} 
end 

class PhotoTest < ActiveSupport::TestCase 
    should belong_to(:album) 

    should validate_presence_of(:title) 
    should have_attached_file(:file) 
    should validate_attachment_presence(:file) 
end 

的 '应该validate_attachment_presence(:文件)' 测试总是flunks,但我想不出为什么。我有其他的单元测试,需要测试的附件。

任何想法?

+0

您是否针对您的设置运行了回形针内部测试?确保它不是来自回形针的东西吗? – Ekampp 2012-04-04 21:24:12

+0

不确定你的意思。我试图使用Paperclip匹配器,如http://rdoc.info/github/thoughtbot/paperclip/Paperclip/Shoulda/Matchers#validate_attachment_presence-instance_method – croceldon 2012-04-05 13:16:20

+0

中所述,首先,您应该在终端中打开回形针gem:' cd到/ where/paperclip/is/located',然后运行'bundle install'安装依赖关系。然后运行'rake'或'rake test'(不记得是哪一个)来针对您的系统测试回形针,以查看系统上的回形针设置是否有问题。 – Ekampp 2012-04-08 13:16:59

回答

2

对我来说,升级到Paperclip 3.0.3之后,问题消失了 - 好像现在修复了这个错误。

+0

这对我来说也有窍门。 – edralph 2012-06-11 18:11:10