我有一个带有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
谢谢!
答案 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