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 回答