我有很多模型需要包含has_attached_file
相同的参数
如何将参数存储在一个哈希对象中?
class Product < ActiveRecord::Base
has_attached_file :cover,
:storage => :s3,
:s3_region => ENV['AWS_REGION'],
:s3_host_name => ENV['S3_HOST'],
:s3_credentials => "#{Rails.root}/config/s3.yml" ,
:styles => IMAGE_STYLES,
:default_url => "/images/missing.png"
end
default_s3_arguments = {:storage => :s3,
:s3_region => ENV['AWS_REGION'],
:s3_host_name => ENV['S3_HOST'],
:s3_credentials => "#{Rails.root}/config/s3.yml" ,
:styles => IMAGE_STYLES,
:default_url => "/images/missing.png"}
class Product < ActiveRecord::Base
has_attached_file :cover, default_s3_arguments
end
答案 0 :(得分:0)
如果它是我认为的常数,
您可以在此初始化程序中定义哈希
如果您需要在其他型号中使用此哈希,请执行此操作
S3_ARGUMENTS = {:storage => :s3,
:s3_region => ENV['AWS_REGION'],
:s3_host_name => ENV['S3_HOST'],
:s3_credentials => "#{Rails.root}/config/s3.yml" ,
:styles => IMAGE_STYLES,
:default_url => "/images/missing.png"}
然后在您的模型中,您可以像这样使用它:
class Product < ActiveRecord::Base
has_attached_file :cover, S3_ARGUMENTS
end
如果您不想在其他模型中使用它,请在类Model本身中定义常量。
答案 1 :(得分:0)
我建议您查看回形针S3文档(如果您使用的是
)https://github.com/thoughtbot/paperclip/wiki/Paperclip-with-Amazon-S3