したがって、linode でホストされている実行中の Rails 3 アプリから画像をアップロードしたいのですが、ファイルのアップロードはローカルで機能しますが、リモートで実行しようとすると失敗します。いくつかのオプションを読みましたが、ほとんどすべてが次のようになります。
CarrierWave.configure do |config|
if Rails.env.development? || Rails.env.test?
config.storage = :file
else
config.storage = :fog
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => 'some_access_key_id',
:aws_secret_access_key => 'some_secret_key',
:region => 'eu-west-1'
}
config.fog_directory = 'bucket_name'
end
end
しかし、それをlinodeオプションに変更すると、
ArgumentError (linode is not a recognized storage provider):
app/controllers/users_controller.rb:50:in `create'
次に、sftp オプションを使用しました。
CarrierWave.configure do |config|
config.sftp_host = "my.host.com"
config.sftp_user = "username"
config.sftp_folder = "public_html/uploads"
config.sftp_url = "http://my.host.com/uploads"
config.permissions = 0666
config.directory_permissions = 0777
config.storage = :file
config.sftp_options = {
:password => "mypass",
:port => 22
}
end
しかし、私はまだ同じエラーが発生しました:
ArgumentError (linode is not a recognized storage provider):
app/controllers/users_controller.rb:50:in `create'
私はgitを使用してaptanaとrails 3.2で作業しており、変更を加えてコミットするたびにcapistranoで展開しています。ここで同様の質問に出くわしましたが、 CarrierWave を使用して Linode にファイルをアップロードしていますが、回答がありません。キャリアウェーブでそれができるかどうかはわかりませんが、どんな提案でも受け付けます。あなたができるどんな助けも大歓迎です。
ありがとうございました!