0

我正在为网站https://looky.co实现站点游览功能,并且我只想在 a设置为 truesite_tour.js时发送文件。show_site_tourshow_site_tour是数据库列)。

我在我的 application.html.haml (布局文件)中设置了它。问题在于 heroku 运行资产管道的方式。

目录结构

\ app
   \ assets
      \ javascripts
         \ guiders
            site_tour.js

基本上问题是,当我尝试仅在数据库列等于 true 的情况下包含该文件夹时,heroku 会给出“资产未预编译”错误。

在我的 application.html.haml

%head
  = javascript_include_tag 'application'
  - if current_user.show_site_tour == true
    = javascript_include_tag 'guiders/site_tour'

那么如何使用 heroku 管道完成这项工作呢?基本上主要问题是,我怎样才能在 heroku 上拥有多个 javascript 文件?

4

1 回答 1

2

这个答案应该有帮助

基本上,您需要告诉资产管道将site_tour文件分开。

config.assets.precompile += %w( guiders/site_tour )

此设置生效后,您应该最终得到两个 JavaScript 文件,application.js并且site_tour.js.

您可以通过使用rake.

bundle exec rake assets:precompile

这将向您展示输出将如何在 Heroku 上结束。

可能还值得注意的是Heroku 要求您将以下设置设置为 false

config.assets.initialize_on_precompile = false
于 2013-05-11T14:26:54.243 回答