0

amazon s3(gem version 1.66)でPaperclip(gem version 4.2)を動作させようとしています。 2日間のシンプルなブログで、皆さんが提供できるアドバイスを感謝しています。Rails "欠落:バケットオプション" w/AWS S3 + Paperclip - 画像アップロードはHerokuでは可能ですが、ローカルではありません。

画像がバケツにアップロードされて正しく表示されますが、画像を記事に添付しようとすると「欠落:バケットオプション」というエラーが表示されます。

私はここで何が欠けていますか?

私はthisthisthisthisで解決策を試したことがあります。

ありがとうございました。

production.rbとdevelopment.rb

config.paperclip_defaults = { 
    :storage => :s3, 
    :s3_credentials => { 
     :bucket => ENV['S3_BUCKET_NAME'], 
     :access_key_id => ENV['AWS_ACCESS_KEY_ID'], 
     :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'] 
     } 
    } 

env.rb

ENV['s3_bucket'] = 'edited_mybucketname' 
ENV['aws_access_key_id'] = 'edited_myaccesskey_id' 
ENV['aws_secret_access_key'] = 'edited_mysecretkey' 
ENV['AWS_REGION'] = 'us-east-1' 

aws.rb

AWS.ACCESS_KEY_ID = ENV["AWS_ACCESS_KEY_ID"] 
AWS.SECRET_ACCESS_KEY = ENV["AWS_SECRET_ACCESS_KEY"] 
AWS.REGION = ENV['AWS_REGION'] 
S3.BUCKET_NAME = ENV["S3_BUCKET_NAME"] 

show.html.erb

<%= form_for @article, html: {multipart: true} do |f| %> 

    <% if @article.errors.any? %> 
    <div id="error_explanation"> 
     <h2> 
     <%= pluralize(@article.errors.count, "error") %> prohibited 
     this article from being saved: 
     </h2> 
     <ul> 
     <% @article.errors.full_messages.each do |msg| %> 
      <li><%= msg %></li> 
     <% end %> 
     </ul> 
    </div> 
    <% end %> 

    <p> 
    <%= f.label :image %><br> 
    <%= f.file_field :image %> 
    </p> 
    <p> 
    <%= f.label :title %><br> 
    <%= f.text_field :title %> 
    </p> 

    <p> 
    <%= f.label :text %><br> 
    <%= f.text_area :text %> 
    </p> 

    <p> 
    <%= f.submit %> 
    </p> 

<% end %> 

_form.html.erb

<%= image_tag @article.image.url(:large), :class => "img-responsive" %> 

Gemfile

source 'https://rubygems.org' 
ruby '2.3.0' 

gem 'rails', '4.2.2' 

gem 'pg' 
gem 'sass-rails', '~> 5.0' 
gem 'uglifier', '>= 1.3.0' 
gem 'coffee-rails', '~> 4.1.0' 
gem 'jquery-rails' 
gem 'turbolinks' 
gem 'bootstrap-sass', '~> 3.3', '>= 3.3.6' 
gem "font-awesome-rails" 
gem 'paperclip', '~> 4.2' 
gem 'aws-sdk', '~> 1.66' 
gem 'simple_form' 
gem 'mail_form' 
gem 'jbuilder', '~> 2.0' 
gem 'sdoc', '~> 0.4.0', group: :doc 

group :development, :test do 
    gem 'byebug' 
    gem 'web-console', '~> 2.0' 
    gem 'spring' 
end 

group :production do 
    gem 'rails_12factor', '~> 0.0.3' 
end 
+0

開発にrails_12factorを追加して、動作するかどうか確認しましたか? –

答えて

1

ケースはENVバールで重要:ENV['s3_bucket'](あなたENVから。 rbファイル)は、ENV['S3_BUCKET']と同じではありませんどこに。

Herokuでは、heroku config -a your_app_name | grep bucketを実行して、それが実際にHerokuで大文字であることを確認できます。 (あなたは* nixマシンにいると仮定します)。

+0

それを修正しました!ありがとう@ M00B! – Noob005

関連する問題