【问题标题】:Navbar from rails application disappears when deploying to Heroku部署到 Heroku 时,rails 应用程序的导航栏消失
【发布时间】:2021-07-06 23:36:44
【问题描述】:

我一直在构建一个要部署到 Heroku 的 Rails 应用程序,我已经安装了一个导航栏来在应用程序中导航,直到最近它都运行良好。现在导航栏没有出现在应用程序上,即使当我在本地尝试任何东西时它仍然可以正常工作。我已经尝试过 rake assets:precompile、bundle install 和所有常见的嫌疑犯。我不知道具体该怎么做。我在测试和生产中附上了我的应用程序的屏幕截图。 This is the image of the two apps。当我在 Heroku 上的生产应用程序上创建帐户时,首先出现此错误。日志显示此错误 ActionController::RoutingError (没有路由匹配 [GET] "/assets/~bootstrap/scss/bootstrap")

【问题讨论】:

  • 你检查过日志吗?
  • 是的,我遇到了这个错误。 2021-04-12T02:24:58.493556+00:00 app[web.1]: F, [2021-04-12T02:24:58.493479 #4] 致命 -- : [9c9b6d9a-4543-45ca-890c-adaf051f5cd0] 2021-04-12T02:24:58.493572+00:00 app[web.1]: [9c9b6d9a-4543-45ca-890c-adaf051f5cd0] ActionController::RoutingError (没有路由匹配 [GET] "/assets/~bootstrap/scss /bootstrap")

标签: ruby-on-rails heroku navbar


【解决方案1】:

因此,如果在您的应用程序中检测到 public/assets/manifest.yml(Rails 4 使用名为 public/assets/manifest-.json 的文件),Heroku 假定您正在自己处理资产编译并且不会尝试编译你的资产。在这两个版本上,您都可以通过在本地运行 $ rake assets:precompile 并将生成的文件检入 Git 来生成此文件。

这意味着我在本地运行了 rake assets:precompile,即使只运行一次,然后签入该清单文件,然后需要在每次部署之前运行 assets:precompile 并将结果检查到 git 中。这是一个非常微妙的变化,可以吸引人们。

从我的 git repo 中删除 public/assets/manifest.yml 文件并重新部署应用程序,以便 Heroku 自动完成资产编译再次解决了错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    • 2015-09-22
    • 2015-12-09
    • 1970-01-01
    相关资源
    最近更新 更多