我有很多车型需要包括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
我建议从名称删除'DEFAULT',因为严格来说,并根据情况怎么样我们通常在Ruby中使用这个词,它不是一个真正的默认,而是一组常用的选项。 (也就是说,读者看到'DEFAULT'可能会查找所使用的不同数据和默认参数说明,而在较高层次上描述该选项集的名称会很有帮助,或者,如果不是,则只需简单地使用S3_ARGUMENTS或FILE_ATTACHED_ARGUMENTS或其他 –
@KeithBennett是的,我完全同意,我只是使用相同的名称,OP使用。btw,我已经更新了答案!:) – Alfie