質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.24%

  • Ruby on Rails

    5380questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • Heroku

    478questions

    HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

herokuでcarrierwaveを使った画像のアップロードだけでなく、文字だけの投稿でもエラーが出てしまう

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 64

ローカル環境ではきちんとアップロードできるのですが、herokuにて画像をアップロードしようとすると、エラーが出てしまいます。
イメージ説明

※追記
画像アップロードは無しで、文字だけの投稿をしようとしても同様のエラーが出てしまいます。
ログ情報は以下の通りです。

2017-12-13T05:41:37.503141+00:00 app[web.1]: Processing by TweetsController#create as HTML
2017-12-13T05:41:37.503184+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "authenticity_token"=>"E83/owPz3KwRi34N+89NuykjCi6tmVHPZwM1DcPALx6ZJP6IljBYEUmRVwSR39ep7EqVBlpuFjt+/le7/3KuQg==", "tweet"=>{"text"=>"投稿したテキスト情報。"}, "commit"=>"投稿する"}
2017-12-13T05:41:37.506656+00:00 app[web.1]:   User Load (2.3ms)  SELECT  `users`.* FROM `users` WHERE `users`.`id` = 21  ORDER BY `users`.`id` ASC LIMIT 1
2017-12-13T05:41:37.509520+00:00 app[web.1]:    (1.8ms)  BEGIN
2017-12-13T05:41:37.512904+00:00 app[web.1]:   SQL (2.0ms)  INSERT INTO `tweets` (`text`, `user_id`, `created_at`, `updated_at`) VALUES ('投稿したテキスト情報。', 21, '2017-12-13 05:41:37', '2017-12-13 05:41:37')
2017-12-13T05:41:37.515321+00:00 app[web.1]:    (1.8ms)  COMMIT
2017-12-13T05:41:37.516854+00:00 app[web.1]:   Rendered tweets/create.html.erb within layouts/application (0.5ms)
2017-12-13T05:41:37.518173+00:00 app[web.1]:   Rendered common/_header.html.erb (0.8ms)
2017-12-13T05:41:37.518403+00:00 app[web.1]: Completed 200 OK in 15ms (Views: 2.7ms | ActiveRecord: 7.9ms)
2017-12-13T05:41:37.773991+00:00 heroku[router]: at=info method=GET path="/css/bootstrap.min.css" host=thawing-wildwood-67353.herokuapp.com request_id=38e01828-64b8-40b0-8a4f-935e381448e2 fwd="221.113.38.150" dyno=web.1 connect=1ms service=9ms status=404 bytes=1829 protocol=https
2017-12-13T05:41:42.044501+00:00 heroku[router]: at=info method=GET path="/" host=thawing-wildwood-67353.herokuapp.com request_id=510359d9-352d-4f33-8441-ccf0bd3d22a3 fwd="221.113.38.150" dyno=web.1 connect=1ms service=92ms status=500 bytes=1754 protocol=https

※追記
ローカル環境下では、AWS S3のバケットに画像は保存されています。
herokuでは、エラーが出てしまう状況です。

この現象には、どのような原因が考えられますでしょうか。

index.html.erb

<% @tweets.each do |tweet| %>

  <div class="waku">
  <div class="tweet col-xs-3 col-md-3 block">
    <!-- <div class="row row-eq-height"> -->
    <div class="trim">
      <div class="tweet_image">
        <%= image_tag tweet.image.url %>
      </div>
    </div>
    <div class="tweet_text">
      <%= tweet.text %>
    </div>
    <div class="user">
      <p>投稿者: <%= tweet.user.family_name %> <%= tweet.user.first_name %></p>
    </div>

    <!-- ユーザー自身が投稿した作品の場合に編集・削除・編集ができる-->
    <% if user_signed_in? && current_user.id == tweet.user_id %>
    <div class="dropdown">
      <button class="btn btn-link btn-xs btn-block dropdown-toggle" type="button" data-toggle="dropdown">
        編集・削除
        <span class="caret"></span>
      </button>
      <ul class="dropdown-menu" role="menu">
        <li role="presentation"><%= link_to '編集', "/tweets/#{tweet.id}/edit", method: :get %></li>
        <li role="presentation"><%= link_to '削除', "/tweets/#{tweet.id}", method: :delete %></li>
      </ul>
    </div>
    <% end %>

    <!-- </div> -->
  </div>
  </div>

<% end %>

new.html.erb

<div class="form">
  <div class="col-lg-12">

    <%= form_for(@tweet) do |f| %>
      <h3>
        作品を投稿してみましょう
      </h3>
      <div class="form-group">
        <%= f.text_area :text, placeholder: "作品について入力してください", cols:"30", rows:"10", autofocus:"true", class:"form-control" %>
      </div>
      <div class="form-group file">
        <%= f.file_field :image, class: "form-control floating-label", placeholder: "画像アップロード" %>
      </div>

      <div class="form-group">
        <%= f.submit "投稿する", class:"btn btn-default" %>
      </div>

    <% end %>
  </div>
</div>

image_uploader.rb

class ImageUploader < CarrierWave::Uploader::Base

  # Include RMagick or MiniMagick support:
  # include CarrierWave::RMagick
  include CarrierWave::MiniMagick

  # Choose what kind of storage to use for this uploader:
  storage :fog
  # storage :fog

  # Override the directory where uploaded files will be stored.
  # This is a sensible default for uploaders that are meant to be mounted:
  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  # Provide a default URL as a default if there hasn't been a file uploaded:
  # def default_url(*args)
  #   # For Rails 3.1+ asset pipeline compatibility:
  #   # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
  #
  #   "/images/fallback/" + [version_name, "default.png"].compact.join('_')
  # end

  # Process files as they are uploaded:
  # process scale: [200, 300]
  process :resize_to_fill => [260, 520]
  #
  # def scale(width, height)
  #   # do something
  # end

  # Create different versions of your uploaded files:
  version :thumb do
    process resize_to_limit: [260, 260]
  end

  # Add a white list of extensions which are allowed to be uploaded.
  # For images you might use something like this:
  # def extension_whitelist
  #   %w(jpg jpeg gif png)
  # end

  # Override the filename of the uploaded files:
  # Avoid using model.id or version_name here, see uploader/store.rb for details.
  # def filename
  #   "something.jpg" if original_filename
  # end

  # 画像の横回転を防ぐ
  # process :fix_rotate
  # def fix_rotate
  #   manipulate! do |img|
  #     img = img.auto_orient
  #     img = yield(img) if block_given?
  #     img
  #   end
  # end

end
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

check解決した方法

0

原因は「iros_count」というlike機能のカラムでエラーが出ていたことでした。

私が別で質問していたこちらで、解決いたしました。
https://teratail.com/questions/104624

お騒がせいたしました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

Herokuのディスクはすべて/tmpのようなもので、適当なタイミング(1日1回以上)で消されるものなので、アップロードしたファイルを置くには全く適しません(リファレンス)。

S3などを借りて、そちらに置くようにCarrierWaveの設定を変更しましょう。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/11 22:24

    早速のご回答、誠にありがとうございます。
    質問する際に、情報が抜けていて申し訳ございません。
    AWS S3の設定をした上でアップロードの作業をしましたが、エラーが出ています。
    設定をしたつもりが、きちんとできていないということですね。
    改めて一度、確認してみます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.24%

関連した質問

同じタグがついた質問を見る

  • Ruby on Rails

    5380questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • Heroku

    478questions

    HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。