hersty生产中的/stylesheets/application.css路由错误

时间:2014-11-26 14:37:33

标签: ruby-on-rails heroku asset-pipeline

不断发生应用程序错误:

2014-11-26T06:45:10.349830+00:00 app[web.1]: ActionController::RoutingError (No route matches [GET] "/stylesheets/application.css"):

在我的application.html中,我有:

<%= stylesheet_link_tag "application" %>

在我的production.rb中,因为heroku没有服务,应用程序应该提供静态资产:

config.serve_static_assets = true
config.assets.compile = true

在我的实况网站上:

<link href="/assets/application-da7e0e08bb87fbae6f1225fa189fab8e.css" media="screen" rel="stylesheet" type="text/css" />

网址

mysite/assets/application-da7e0e08bb87fbae6f1225fa189fab8e.css 

返回结果。

网址

mysite/assets/application.css 

也会返回结果。

一切正常,但日志中有此错误消息,我无法理解原因。谁请求/stylesheets/application.css以及为什么以及如何阻止此错误发生。

Rails是“3.2.16”

1 个答案:

答案 0 :(得分:0)

应该有两个问题:

1)添加%<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>&gt;

2)看起来您已在git repo中添加了资产预编译文件。理想情况下,它不应该存在,因为只要你推动它,heroku就可以为你服务。

要解决此问题,您必须执行此操作

  1. git rm -r public / assets /
  2. 在.gitignore文件中添加public / assets / **
  3. git add。
  4. git commit -am“允许heroku自动资产预编译” 5.git推送heroku master