0

Heroku アプリで Carrierwave + s3 を使用してファイルをアップロードしようとすると、「申し訳ありませんが、問題が発生しました。」というエラーが表示されます。ログを調べると、次のエラーが表示されます。

    2012-08-20T21:18:56+00:00 app[web.1]: Started GET "/assets/" for 24.90.124.181 at 2012-08-20 21:18:56 +00002012-08-20T21:18:56+00:00 app[web.1]:2012-08-20T21:18:56+00:00 app[web.1]: ActionController::RoutingError (No route matches [GET] "/assets"):

Cedar スタック上の Heroku にアプリをデプロイするために、このチュートリアルのすべてを実行しましたが、まだそのエラーが表示されます。これをapplication.htmlにも追加する必要がありました

  <%= javascript_include_tag :defaults %> <%= javascript_include_tag "jquery" %> <%= javascript_include_tag "nested_form"%> <%= javascript_include_tag "application"%>

<%= javascript_include_tag "application" %> が "application.js" のみをロードしたため

アップローダを機能させるためにあらゆる手段を試しましたが、何が問題なのかわかりません。私のローカルアプリではすべてが完璧に機能します。

これはgithubの私のアプリです My Herokuアプリ

4

2 に答える 2

1

簡単に交換できます

<%= javascript_include_tag :defaults %>
<%= javascript_include_tag "jquery" %>
<%= javascript_include_tag "nested_form"%>
<%= javascript_include_tag "application"%>

with:ファイルがこれをインポート<%= javascript_include_tag "application" %>する場合。application.js

デフォルトのインポートは次のとおりです。

//= require jquery
//= require jquery_ujs
//= require_tree .

問題がJavaScriptの欠落である場合、これで修正されるはずです

私が見る他の問題は、内部のこのリンクでしたapp/views/deals/show.html.erb:

<%= image_tag(@deal.user.logo, :class => 'company_logo') %>

この行はこのhtmlを返しています:

<img alt="Assets" class="company_logo" src="/assets/">

この img src は無効です。これがログに表示されるエラーです。

この画像タグが画像パスにリンクできれば/assets/avatar.png、問題は解決すると思います

于 2012-08-20T22:09:20.990 に答える
0

Carrierwave を使用しているため、次のことを行う必要があります。

<%= image_tag(@deal.user.logo.url, :class => 'company_logo') %>

また

<%= image_tag(@deal.user.logo.current_path, :class => 'company_logo') %>
于 2012-08-20T22:18:54.807 に答える