0

我有一个 Rails 3.2.12 应用程序,我试图使用 Amazon S3 存储桶和我的 Heroku 应用程序的asset_sync gem 同步我的资产。我查看了整个 github 问题跟踪器和此处的 SO,但无法找到答案。所以这是我的问题:

是否可以使用asset_sync gem 同步.less 文件?

在我推送到 Heroku 之后,我在日志中看到了这个错误:

Running: rake assets:precompile
   rake aborted!
   variable @inputHeight is undefined
   (in /tmp/build_tejom7tf9zq9/app/assets/stylesheets/utils-and-mixins.less)

为了配置我的应用程序,我从asset_sync github页面关注了wiki,并设置了我的ENV变量,我使用了内置初始化程序。

以下是我的 production.rb 文件中的修改,以适应 assets_sync 要求:

  # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
  config.assets.precompile += [ '*.css' ]

  # Serving Assets From S3 on Heroku
  config.action_controller.asset_host = "//s3.amazonaws.com/test"

  # store assets in a 'folder' instead of bucket root
  config.assets.prefix = "/production/assets"

end

任何建议将不胜感激。谢谢

编辑1:

我什至尝试在命令行中单独运行:

heroku run rake assets:precompile --app <yourapp>

但它没有帮助,它抛出了同样的错误。

编辑2:

我想这就是你要求的:

....
gem 'less-rails', '~> 2.3.2'

gem 'twitter-bootstrap-rails', '2.2.6'


# Gems used only for assets and not required in production environments by default.
group :assets do
  gem 'sass-rails', '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
  gem 'therubyracer', '~> 0.11.4', platforms: :ruby
  gem 'asset_sync'
end
4

1 回答 1

0

通过在我的 production.rb 中写入我想包含到我的 S3 存储桶中的特定 .css 文件名,设法使其工作:

 # Enable serving of images, stylesheets, and JavaScripts from an asset server
  config.action_controller.asset_host = "//s3.amazonaws.com/test"

  # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
  config.assets.precompile += %w( public.css users.css admin.css )
于 2013-04-02T11:48:50.580 回答