ruby - Heroku 不为 rails 4 预编译 Assets

标签 ruby heroku ruby-on-rails-4 asset-pipeline

这里的文档说 heroku 在 Rails4 中的部署期间具有预编译 Assets 。

但是, 我没有看到预编译 Assets 消息。

     Using thin (1.6.1)
       Using twitter-bootstrap-rails (2.2.8)
       Using uglifier (2.3.1)
       Using will_paginate (3.0.4)
       Your bundle is complete! It was installed into ./vendor/bundle
       Bundle completed (1.37s)
       Cleaning up the bundler cache.
-----> Writing config/database.yml to read from DATABASE_URL
       Detected manifest file, assuming assets were compiled locally
-----> Discovering process types
       Procfile declares types -> (none)
       Default types for Ruby  -> console, rake, web, worker

我在我的应用程序中遇到 Bootstrap 问题,其中导航栏无法正确加载以及其他一些细微差别,我认为这是 Assets 预编译问题。

我正在使用 Rails4、Ruby2.0

我在 application.rb 中启用了 Assets

config.assets.enabled = true

手动预编译没有帮助

heroku run rake assets:precompile

最佳答案

遇到了同样的问题。由于某种原因,我在本地进行了预编译,然后推送到 Heroku。

看到 Heroku 给出了“检测到的 list 文件,假设 Assets 是在本地编译的”这一行,这让我意识到它并没有预编译所有的东西。

当我执行“git add”时。并 promise ,我看到它正在添加一堆公共(public)文件。将它推送给 Heroku 让它工作。所以我每次都必须预编译和 git add,基本上是为它做 Heroku 的工作,并在我的公共(public)文件夹中弄得一团糟。它完成了工作,但修复效果很差。

我寻找 heroku 提到的“ list ”,最终在公共(public)目录中找到了一个“.sprockets-manifest...”文件。

删除它,Heroku 再次成为我的 friend 。

发现这个问题是我研究的一部分,所以我想我会分享我的发现,以防其他人看到这个问题,或者有任何详细的想法。

现在我得去看看 .sprockets-manifest 是否对其他任何东西都很重要....

关于ruby - Heroku 不为 rails 4 预编译 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20626276/

相关文章:

ruby-on-rails - 在其他 Controller 中调用 Controller 的方法(保持 DRY)

javascript - Rails 4 : "//= require_tree ." in application. js 不包含我的 js 文件在/app/assets/javascripts

ruby-on-rails - Rails has_many :through association: save instance into join table

ruby-on-rails-4 - 使用 strong_params 在 Rails 4 Controller 中创建两个对象

ruby 方法 - 如何减少方法中的参数数量?

ruby - 在函数中捕获参数错误?

ruby - Ruby 中的动态常量分配

heroku - 用于heroku db:push的“Time zone displacement out of range”,无法使用ruby 1.9.2解决

python - Django - 'module' 对象不可调用

java - 如何为 heroku 创建 procfile 文件?