12

这是这里的一个常见问题,但没有一个解决方案可以解决我的问题,所以这里是:

我正在将 ace.js 添加到我的 rails4 应用程序中,所以我所做的是

- Added vendor/assets/ace/ace.js
- Created vendor/assets/ace/index.js , with content
  //= require ace  
- Added the following to my production.rb
  config.assets.precompile += %w( index.js )  
  config.assets.paths << Rails.root.join("vendor", "assets", "ace")

所以在我的布局文件中我有:

<%= javascript_include_tag "ace" %>

它在开发上运行得很好,但是当我运行时:

RAILS_ENV=production bundle exec rake assets:precompile

它不会创建 ace 文件的摘要版本。

我错过了什么吗?

4

2 回答 2

22

它通过添加解决:

config.assets.precompile += %w( index.js )

config/application.rb. (不是config/environments/production.rb

在 Rails 4.0 beta1 中测试。

于 2013-04-01T00:02:48.387 回答
2

如果您将ace目录添加为资产,您应该将js文件放在vendor/assets/ace/javascripts目录下(您应该创建)。

通常你不需要config.assets.precompile += %w( index.js ),Sprockets 会很好地管理它。如果只需要从vendors/assets/ace目录中添加一个 js 文件,则不需要 index.js 。如果index.js您在vendor/assets/ace/javascripts/your_vendor_js_library. 最后一点:你不需要<%= javascript_include_tag "ace" %>,它重复<%= javascript_include_tag "application" %>的内容。

于 2013-02-14T19:40:57.730 回答