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 Heroku不从资产管道加载资产_Ruby On Rails_Heroku_Asset Pipeline - Fatal编程技术网

Ruby on rails Heroku不从资产管道加载资产

Ruby on rails Heroku不从资产管道加载资产,ruby-on-rails,heroku,asset-pipeline,Ruby On Rails,Heroku,Asset Pipeline,在我的Rails应用程序中,每个动作都有独特的css和js 因此,新用户有自己的css。它被命名为users\u new.css.scss 我将我的应用程序部署到Heroku,Heroku没有加载任何资产。您可以看到错误。如何修复此问题,以便Heroku正确预编译并加载资产 我通读了一遍,但没有找到任何解决办法 添加到您的文件中 gem 'rails_12factor', group: :production 预编译 问题在于您的时间表\u index.js不是: 可以看出这是一个问题的方式

在我的Rails应用程序中,每个动作都有独特的css和js

因此,新用户有自己的css。它被命名为
users\u new.css.scss

我将我的应用程序部署到Heroku,Heroku没有加载任何资产。您可以看到错误。如何修复此问题,以便Heroku正确预编译并加载资产

我通读了一遍,但没有找到任何解决办法

添加到您的文件中

gem 'rails_12factor', group: :production

预编译

问题在于您的
时间表\u index.js
不是:

可以看出这是一个问题的方式是,当您在
布局中调用资产时(我假设您使用的是正确的路径帮助程序),Rails将自动引用该文件的最新预编译版本(因此为什么
application.js
附加了该文件)

我相信您需要将自定义文件添加到阵列中:

这将使Rails能够单独预编译这些资产,允许您在布局中调用它们:

#app/views/layouts/application.html.erb
<%= javascript_include_tag "timelines_index" %>

您的Gemfile中是否有(gem'rails_12factor',group::production)?就可以了,谢谢:)我将其作为答案发布,以便其他程序员将来可以从中受益。实际上,这看起来并没有加载特定于页面的资产。(请参阅页面控制台中的错误)实际上,看起来页面特定的资产仍然没有加载。在生产模式下,您的所有资产都将在application.js文件中编译。不要尝试明确加载css和js。对于这个特定的应用程序,我专门为页面加载js和css。这就是为什么我会遇到这个独特的问题:)那么您为什么要使用资产管道?整个资产管道的目的是将所有资产加载到一个文件中。
#app/views/layouts/application.html.erb
<%= javascript_include_tag "timelines_index" %>
#app/assets/javascripts/application.js
//= require_tree .