我在下面的3种不同型号中进行了验证。我怎样才能重构它。
has_attached_file :image,
styles: {
large: '700x400>',
medium: '400x400#',
thumb: '100x100#'
},
default_url: '/images/missing.png'
validates_attachment_content_type :image,
content_type: /\Aimage\/.*\z/
答案 0 :(得分:1)
您可以将其移至concern。关于创建问题最困难的部分是命名它。随意更改名称,但我将称之为 ImageAttachable 。也许这是一个愚蠢的名字,但它是我能在短时间内做到的最好的。要对此进行编码,请添加以下文件:
应用/模型/关切/ image_attachable.rb 强>
module ImageAttachable
extend ActiveSupport::Concern
included do
has_attached_file :image,
styles: {
large: '700x400>',
medium: '400x400#',
thumb: '100x100#'
},
default_url: '/images/missing.png'
validates_attachment_content_type :image,
content_type: /\Aimage\/.*\z/
end
end
然后,您将从模型中删除所有上述代码,并将其替换为:
include ImageAttachable
DHH已就此问题撰写an excellent article。