gpt4 book ai didi

ruby-on-rails-3 - 将图像存储在本地以供开发s3用于生产Rails回形针

转载 作者:行者123 更新时间:2023-12-03 12:09:30 25 4
gpt4 key购买 nike

我想将图像上传到本地计算机上进行开发,但将其存储在我的Amazon S3帐户中进行生产。

upload.rb

if Rails.env.development?
has_attached_file :photo, :styles => { :thumb => '40x40#', :medium => '150x200>', :large => '300x300>'},
:convert_options => { :thumb => "-quality 92", :medium => "-quality 92", :large => "-quality 92" },
:processors => [:cropper]
else
has_attached_file :photo, :styles => { :thumb => '40x40#', :medium => '150x200>', :large => '300x300>'},
:convert_options => { :thumb => "-quality 92", :medium => "-quality 92", :large => "-quality 92" },
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => ":attachment/:id/:style.:extension",
:bucket => 'birthdaywall_uploads',
:processors => [:cropper]
end

这里有一些代码重复。
有没有一种方法可以编写此代码而无需代码重复。

这是解决方案感谢您在下面感谢乔丹和安德烈:

config / environments / development.rb
   PAPERCLIP_STORAGE_OPTS = {
:styles => { :thumb => '40x40#', :medium => '150x200>', :large => '300x300>' },
:convert_options => { :all => '-quality 92' },
:processor => [ :cropper ]
}

config / environment / production.rb
  PAPERCLIP_STORAGE_OPTS = {
:styles => { :thumb => '40x40#', :medium => '150x200>', :large => '300x300>' },
:convert_options => { :all => '-quality 92' },
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => ':attachment/:id/:style.:extension',
:bucket => 'birthdaywall_uploads',
:processor => [ :cropper ]
}

最佳答案

当然。尝试这样的事情:

paperclip_opts = {
:styles => { :thumb => '40x40#', :medium => '150x200>', :large => '300x300>' },
:convert_options => { :all => '-quality 92' },
:processor => [ :cropper ]
}

unless Rails.env.development?
paperclip_opts.merge! :storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => ':attachment/:id/:style.:extension',
:bucket => 'birthdaywall_uploads',
end

has_attached_file :photo, paperclip_opts

除了明显的 unless / merge!块外,还请注意将 :all用于 :convert_options,而不是指定相同的选项三次。

关于ruby-on-rails-3 - 将图像存储在本地以供开发s3用于生产Rails回形针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8131835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com