javascript ” Heroku “我们很抱歉,但是出了点问题。由于 javascript_include_tag
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/10067359/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Heroku "We're sorry, but something went wrong." due to javascript_include_tag
提问by Karan
Uploading my ruby on rails app to heroku causes the following error:
将我的 ruby on rails 应用程序上传到 heroku 会导致以下错误:
We're sorry, but something went wrong.
我们很抱歉,但有些不对劲。
This does not occur on my local machine.
这不会发生在我的本地机器上。
After some debugging, I think I may have spotted the error, but do not know how to fix it.
经过一些调试,我想我可能已经发现了错误,但不知道如何修复它。
In my file application.html.erb, removing the following line solves the problem, but then my app loses its jquery mobile theme. Any ideas what I could do to fix the problem?
在我的文件 application.html.erb 中,删除以下行解决了问题,但随后我的应用程序丢失了它的 jquery 移动主题。有什么想法可以解决问题吗?
Line causing the problem:
导致问题的行:
<%= javascript_include_tag "application" %>
application.html.erb file:
application.html.erb 文件:
<!DOCTYPE html>
<html>
<head>
<title>Washapp</title>
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
<%= javascript_include_tag "application" %>
<script src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script>
<%= csrf_meta_tags %>
<script>
if (window.location.hash == "#_=_")
window.location.hash = "";
</script>
</head>
<body>
<div data-role="page">
<%= yield %>
</div>
</body>
</html>
Heroku logs:
Heroku 日志:
2012-04-08T23:28:41+00:00 heroku[nginx]: 78.105.51.57 - - [08/Apr/2012:23:28:41 +0000] "GET / HTTP/1.1" 500 643 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.151 Safari/535.19" washappdelete2.heroku.com
2012-04-08T23:28:43+00:00 app[web.1]:
2012-04-08T23:28:43+00:00 app[web.1]: Started GET "/" for 78.105.51.57 at 2012-04-08 16:28:43 -0700
2012-04-08T23:28:43+00:00 app[web.1]:
2012-04-08T23:28:43+00:00 app[web.1]: Processing by HomeController#index as HTML
2012-04-08T23:28:43+00:00 app[web.1]: Rendered home/routa_list.html.erb within layouts/application (0.1ms)
2012-04-08T23:28:43+00:00 app[web.1]: Completed 500 Internal Server Error in 34ms
2012-04-08T23:28:43+00:00 app[web.1]:
2012-04-08T23:28:43+00:00 app[web.1]: 4: <title>Washapp</title>
2012-04-08T23:28:43+00:00 app[web.1]: ActionView::Template::Error (application.js isn't precompiled):
2012-04-08T23:28:43+00:00 app[web.1]: 5: <meta name="viewport" content="width=device-width">
2012-04-08T23:28:43+00:00 app[web.1]: 6: <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
2012-04-08T23:28:43+00:00 app[web.1]: 7: <%= javascript_include_tag "application" %>
2012-04-08T23:28:43+00:00 app[web.1]: 9: <script src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script>
2012-04-08T23:28:43+00:00 app[web.1]: 8:
2012-04-08T23:28:43+00:00 app[web.1]: 10: <%= csrf_meta_tags %>
2012-04-08T23:28:43+00:00 app[web.1]: app/views/layouts/application.html.erb:7:in `_app_views_layouts_application_html_erb__2373145142857118006_42724320'
2012-04-08T23:28:43+00:00 app[web.1]: app/controllers/home_controller.rb:4:in `index'
2012-04-08T23:28:43+00:00 app[web.1]: cache: [GET /] miss
2012-04-08T23:28:43+00:00 app[web.1]:
2012-04-08T23:28:43+00:00 app[web.1]:
app/assets/javascripts/application.js
应用程序/资产/javascripts/application.js
// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file.
//
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
// GO AFTER THE REQUIRES BELOW.
//
//= require jquery
//= require jquery_ujs
//= require_tree .
Repository: https://github.com/karangb/herokuProblem
回答by Karan
Problem solved!
问题解决了!
It was simple - taken from 500 internal server error when I try to push my app onto Heroku
这很简单 -当我尝试将我的应用程序推送到 Heroku 时,取自500 个内部服务器错误
So based upon the heroku info that you provided I see that you are on the bamboo stack and that stack does not support Rails 3.1+. Only the cedar stack supports Rails 3.1+. You'll need to use the following command to create a new app on the cedar stack:
heroku create --stack cedar
因此,根据您提供的 heroku 信息,我看到您在竹栈上,并且该栈不支持 Rails 3.1+。只有 cedar 堆栈支持 Rails 3.1+。您需要使用以下命令在 cedar 堆栈上创建一个新应用程序:
heroku 创建 --stack 雪松
回答by Thaha kp
In config/application.rb, add
在 config/application.rb 中,添加
config.assets.initialize_on_precompile = false
and push to git, then heroku push.
并推送到 git,然后是 heroku 推送。
回答by benjgorman
Try adding
尝试添加
//= require jquery.mobile
//= require jquery.mobile
in your
在你的
app/assets/stylesheets/application.js
app/assets/stylesheets/application.js
amd set
amd 集
config.assets.compile = tue
config.assets.compile = tue
in your
在你的
config/enviroments/production.rb
config/enviroments/production.rb
回答by Jonathan
回答by Jonathan
Are you also setting
你也在设置
config.assets.initialize_on_precompile = false
This is a new change on Rails 3.2 (see the Docs)
这是 Rails 3.2 的新变化(参见文档)
Nevertheless, you should be able to see an error during the slug compilation (as example below, if you do not set the above flag)
尽管如此,您应该能够在 slug 编译期间看到错误(如下例,如果您没有设置上述标志)
-----> Preparing app for Rails asset pipeline
Running: rake assets:precompile
rake aborted!
could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
You can also try to run the rake precompile task locally, and see the error (again, as the documentation is suggesting).
您也可以尝试在本地运行 rake 预编译任务,并查看错误(再次,正如文档所建议的那样)。
回答by Mark
Try to set in config/enviroments/production.rb the following line to false:
尝试在 config/enviroments/production.rb 中将以下行设置为 false:
config.assets.compile = false
回答by Bruno
make sure there are no untracked files, do git status
确保没有未跟踪的文件,请执行 git status
maybe try, heroku run rake db:migrate
也许尝试, heroku run rake db:migrate