每当我尝试使用Carrierwave + s3在我的Heroku应用程序上传文件时,我会收到此错误“我们很抱歉,但出了点问题。”,查看我的日志时发现此错误:
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"):
我已经在这个tutorial中做了所有事情,将我的应用程序部署到Cedar堆栈上的Heroku,但我仍然看到了这个错误。我还必须将它添加到我的application.html
<%= javascript_include_tag :defaults %> <%= javascript_include_tag "jquery" %> <%= javascript_include_tag "nested_form"%> <%= javascript_include_tag "application"%>
因为有&lt;%= javascript_include_tag“应用程序”%&gt;只加载“application.js”
我尝试过让我的上传者工作的所有事情,但我不知道问题是什么。一切都在我的本地应用程序上完美运行。
答案 0 :(得分:1)
您可以轻松更换
<%= javascript_include_tag :defaults %>
<%= javascript_include_tag "jquery" %>
<%= javascript_include_tag "nested_form"%>
<%= javascript_include_tag "application"%>
使用:<%= 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
,我相信您的问题将会得到修复
答案 1 :(得分:0)
由于您使用的是Carrierwave,因此您需要执行以下操作:
<%= image_tag(@deal.user.logo.url, :class => 'company_logo') %>
或
<%= image_tag(@deal.user.logo.current_path, :class => 'company_logo') %>