Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将rails应用程序上载到heroku跳过资产_Ruby On Rails_Heroku_Push_Commit - Fatal编程技术网

Ruby on rails 将rails应用程序上载到heroku跳过资产

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

我正在尝试将我的rails应用程序上载到我的heroku帐户,就像我之前几次那样(成功)

我得到的应用程序没有在标题中包含所有css和js。我认为这是一个资产承诺问题。我不记得做过任何不同的事情,除了使用bootstrap稍微改变一下设计

这是希罗库的头像

<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" %>