如何基于当前的Rails环境设置回形针的存储机制?
我有一个Rails应用程序,其中有多个带有回形针附件的模型,这些模型都已上载到S3。此应用程序还具有经常运行的大型测试套件。这样做的缺点是每次测试运行都会将大量文件上载到我们的S3帐户,从而使测试套件运行缓慢。它还会减慢开发速度,并且需要您具有Internet连接才能处理代码。 是否有合理的方法基于Rails环境设置回形针存储机制?理想情况下,我们的测试和开发环境将使用本地文件系统存储,而生产环境将使用S3存储。 我还想将此逻辑提取到某种共享模块中,因为我们有几个需要此行为的模型。我想在每个模型中避免这样的解决方案: ### We don't want to do this in our models... if Rails.env.production? has_attached_file :image, :styles => {...}, :path => "images/:uuid_partition/:uuid/:style.:extension", :storage => :s3, :url => ':s3_authenticated_url', # generates an expiring url :s3_credentials => File.join(Rails.root, 'config', 's3.yml'), :s3_permissions => 'private', :s3_protocol => 'https' else has_attached_file :image, :styles => …