干和回形针

时间:2012-03-17 15:42:12

标签: ruby-on-rails paperclip dry

我有一个带有3个附件的模型,请帮我干。

class Somename < ActiveRecord::Base

has_attached_file :picture, :url => "/uploads/p/:id/picture.:extension"
validates_attachment_presence :picture
validates_attachment_content_type :picture, :content_type => ['image/jpeg', 'image/png']

has_attached_file :another_picture, :url => "/uploads/p/:id/another_pictures/:style/another_picture.:extension",
    :styles => { main: '720x480#', small: '480x311#' }
validates_attachment_presence :another_picture
validates_attachment_content_type :another_picture, :content_type => ['image/jpeg', 'image/png']

has_attached_file :last_one, :url => "/uploads/p/:id/last_one.:extension"
validates_attachment_presence :last_one
validates_attachment_content_type :last_one, :content_type => ['image/jpeg', 'image/png']
end

特别有效。为什么我不能做这样的事情:

validates_attachment_presence :picture, :another_picture, :last_one

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情(不确定它是否与Paperclip完全一样,但可能应该可以正常工作):

(参见source code of validates_attachment_presence,它会更清楚)

module PaperclipEnhancement
  def validates_attachments_presence(*attributes) # note the plural 'attachments'
    attributes.each do |attribute|
      validates_attachment_presence attribute #call the original paperclip validator
    end
  end  
end

class Somename < ActiveRecord::Base
  extend PaperclipEnhancement
  validates_attachments_presence :picture1, :picture2
end
相关问题