Необходимо использовать язык сценариев, когда скорость разработки более важна, чем скорость выполнения.
Вау, это было быстро. Я решил проблему, просто используя гем aws-s3 и изменив свой enviroment.rb следующим образом:
#config.gem 'right_aws'
config.gem "aws-s3", :version => ">= 0.6.2", :lib => "aws/s3"
Надеюсь, это кому-то поможет!
У меня тоже была эта проблема. Некоторым людям кажется, что указание драгоценных камней в определенном порядке работает:
config.gem "aws-s3", :lib => "aws/s3", :version => '>= 0.6.2'
config.gem "paperclip", :version => '>= 2.3.1.1'
# config.gem "right_aws"
В моем приложении также был плагин (backup_fu), указывающий right_aws
, и мне пришлось закомментировать строку в моем плагине также:
# backup_fu.rb
require 'yaml'
require 'active_support'
require 'mime/types'
require 'right_aws' unless defined?(RightAws)
require 'erb'
class BackupFuConfigError < StandardError; end
class S3ConnectError < StandardError; end
class BackupFu
# etc...
end
Кто-нибудь знает, почему это проблема?
РЕДАКТИРОВАТЬ: В моем приложении мне больше не требуется right_aws вообще, а затем в геме backup_fu я изменил строку require, чтобы требовать right_aws только в том случае, если он еще не загружен. Я обнаружил, что, требуя гем в environment.rb, он вызывает конфликт с гемом aws-s3. Так что теперь плагин backup_fu будет загружать его при необходимости (обычно только при запуске в качестве задачи rake), но не при запуске приложения.