Ruby on rails 将rails应用程序上载到heroku跳过资产
我正在尝试将我的rails应用程序上载到我的heroku帐户,就像我之前几次那样(成功) 我得到的应用程序没有在标题中包含所有css和js。我认为这是一个资产承诺问题。我不记得做过任何不同的事情,除了使用bootstrap稍微改变一下设计 这是希罗库的头像Ruby on rails 将rails应用程序上载到heroku跳过资产,ruby-on-rails,heroku,push,commit,Ruby On Rails,Heroku,Push,Commit,我正在尝试将我的rails应用程序上载到我的heroku帐户,就像我之前几次那样(成功) 我得到的应用程序没有在标题中包含所有css和js。我认为这是一个资产承诺问题。我不记得做过任何不同的事情,除了使用bootstrap稍微改变一下设计 这是希罗库的头像 <link href="/assets/application-6dc3bf401e7f79f69a2a156bdeeb7a00.css" media="all" rel="stylesheet" type="text/css" /&g
<link href="/assets/application-6dc3bf401e7f79f69a2a156bdeeb7a00.css" media="all" rel="stylesheet" type="text/css" />
<script src="/assets/application-14e3dc5612ffc200db37e141e57c5af2.js" type="text/javascript"></script>
这是本地主机上的头
<link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/bootstrapStyle.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/bootstrap_and_overrides.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/ratings.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/scaffolds.css?body=1" media="all" rel="stylesheet" type="text/css" />
<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-transition.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-alert.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-modal.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-dropdown.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-scrollspy.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-tab.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-tooltip.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-popover.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-button.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-collapse.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-carousel.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-typeahead.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-affix.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap.js?body=1" type="text/javascript"></script>
<script src="/assets/bootstrap.js?body=1" type="text/javascript"></script>
<script src="/assets/index.js?body=1" type="text/javascript"></script>
<script src="/assets/ratings.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
来自:
在开发模式中,资产按照清单文件中指定的顺序作为单独的文件使用
实际上,您没有问任何问题,但要明确:您的资产没有被跳过。
您在localhost中看到的(列出的所有文件)将包含在生产中(在单个application.css
和application.js
文件中)
在config/evironments/development.rb中
config.assets.debug = true
这导致
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %>
要进行扩展,请为每个javascript和样式表创建单独的脚本和链接标记,这些脚本和标记将通过链轮和Rails资产管道包含在/=require
行中
在生产环境中(在heroku上),上面的debug config选项设置为false,提供样式表和Javascript的单个连接/压缩版本
我敢肯定,如果您在Javascript控制台中查看localhost的
中列出的任何Javascript文件中可用的变量/方法,您会发现它们是存在的。生产环境中application.css文件的内容也是如此
推荐阅读:hi@Deefour,谢谢你的回复。点击js和css链接
查看它们是否存在后,我发现只有js链接
可用,而css链接
已损坏。显然,我的应用程序设计不正确。另一件事(可能相关)。我添加了一个amazon s3托管服务来存储我上传的图片,我不认为这是缺少css链接的原因。amazon与您的样式表问题无关。您可以了解Heroku和资产管道以及如何解决问题。除此之外,您还可以获取更多信息。嗨,deefour,对不起,但是我仍然不明白我做错了什么。我正在本地编译我的资产,信息保存在manifest.yml
文件中,应该上传。我以前做了哪些不同的事情,我应该做些什么来修复它?您是否验证了应用程序.css
文件是按预期在本地构建的?您检查了吗部署后的r日志?您是否查看了部署的输出,以确定应用程序没有错误。css
?您是否检查了应用程序。css
不在您的项目或全局。gitignore
?您是否尝试在生产中发出页面请求并检查了日志?
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %>