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
轨道4,Heroku不';无法识别预编译清单-(指纹).json_Heroku_Manifest_Ruby On Rails 4_Precompiled - Fatal编程技术网

轨道4,Heroku不';无法识别预编译清单-(指纹).json

轨道4,Heroku不';无法识别预编译清单-(指纹).json,heroku,manifest,ruby-on-rails-4,precompiled,Heroku,Manifest,Ruby On Rails 4,Precompiled,升级到Rails 4后,不再生成public/assets/manifest.yml。而是存在不同格式的manifest-(fingerprint).json。 但在我看来,服务器仍然在寻找旧的manifest.yml格式,而忽略了.json版本 我看到了基于类似问题的其他问题,但它们似乎可以通过升级到Rails 4、将Rails\u 12factor添加到gem文件、设置SERVICE\u static\u ASTESS=true等方式得到解决,但这些解决方案在我的场景中似乎都没有任何效果 由

升级到Rails 4后,不再生成public/assets/manifest.yml。而是存在不同格式的manifest-(fingerprint).json。 但在我看来,服务器仍然在寻找旧的manifest.yml格式,而忽略了.json版本

我看到了基于类似问题的其他问题,但它们似乎可以通过升级到Rails 4、将Rails\u 12factor添加到gem文件、设置SERVICE\u static\u ASTESS=true等方式得到解决,但这些解决方案在我的场景中似乎都没有任何效果

由于这个烦人的问题,我感到疲惫和缺乏灵感,任何帮助都将不胜感激

来自Heroku的日志文件:

ActionController::RoutingError (No route matches [GET] "/assets/layouts/test/test.html"):
档案:

ruby '2.0.0'
gem 'rails', '4.0.0'
...
gem "compass-rails", github: "milgner/compass-rails", ref: "1749c06f15dc4b058427e7969810457213647fb8"
...
gem 'rails_12factor', group: :production
production.rb

RailsFoundationAngular::Application.configure do
  config.assets.initialize_on_precompile = false
  config.cache_classes = true
  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true
  config.serve_static_assets = true
  config.assets.compress = true  
  config.assets.compile = false
  config.assets.digest = true
  config.i18n.fallbacks = true
  config.active_support.deprecation = :notify
  config.action_dispatch.x_sendfile_header = nil
end
我正在使用Angular及其ui路由器,这是我的routes.js.coffee中test.html链接的部分:

    .state "root",
      url: "/"
      views:
        "root":
          controller: "ApplicationController"
          templateUrl: "/assets/layouts/test/test.html"
我也尝试过本地预编译,但由于我在这里也使用Rails 4,仍然没有创建manifest.yml,只有.json版本。 当然,在开发过程中,一切都很完美

所以我的实际提示是:
我如何让Heroku识别并使用manifest-(fingerprint).json-file,或者其他方法来实现这一点?

答案是,Heroku已经识别并使用manifest-(fingerprint).json-file了。我上面评论中的“变通方法”是引用这些文件的正确方法,通过这样做,清单文件的使用方式与它的使用方式相同

使用内部链接将文件重命名为.erb,并像这样引用:
templateUrl:“
就可以做到这一点。所有内部文件、图像和html文件都应该这样引用

这里对所有这些都进行了非常详细的描述:

现在看起来很简单和直接,但我真的花了很多时间试图从一开始就搞错这个问题。
我希望这个答案能为其他人节省时间。

现在我在这里找到了一个可用的解决方法:。将routes.js.coffe重命名为routes.js.coffe.erb,并将链接文件命名为
templateUrl:“
”。现在我只需要像这样更改源中的每个文件引用。事实上,我认为这正是清单文件希望为我做的事情?你能澄清一下这个答案吗?修复之前,您的资产路径是什么样子的?我也有同样的问题,我的问题是: