heroku 中的资产编译 Ckeditor rails

Assets compilation Ckeditor rails in heroku

我在生产环境中使用 Ckeditor 时遇到问题。

我有 2 个环境,暂存环境和生产环境,它们都在 Heroku 中。

我能够在暂存环境中看到 Ckeditor,但在生产环境中看不到。

我的配置如下: config/environments/production.rb:

# Precompile additional assets
config.assets.precompile += Ckeditor.assets
config.assets.precompile += %w( *.js )
config.assets.precompile += %w( .svg .eot .woff .ttf )

config/initializers/assets.rb:

Rails.application.config.assets.precompile += %w( ckeditor/* )

app/assets/javascripts/application.js:

//= require ckeditor/init

(基本上遵循 https://github.com/galetahub/ckeditor 文档)

环境暂存和生产都使用 RAILS_ENV=production。

我使用 Amazon S3 为我的资产提供服务,这很好,因为我可以看到 javascript 功能、图标和图像出现在生产中。

有什么明显的我在这里遗漏的吗?

谢谢!

P.S: 我正在使用 RoR 4.2 和 ckeditor 4.1.1

编辑:

1 - 我验证了在两种环境中提供的 javascript,文件是一样的!和 Ckeditor javascript 代码都存在于两者中。所以问题不是资产预编译而是其他问题...

2 - ckeditor.js 文件存在于存储桶中,但我仍然收到来自服务器的 404 未找到响应。文件在assets/ckeditor/ckeditor-xxxx.js

最后,我可以通过添加 gem

来解决这个问题
gem 'non-stupid-digest-assets', '~> 1.0.4'

编译没有摘要的资产。

问题是ckeditor assets是用digest编译的,但是在代码中(在gem里面),没有digest就直接引用了。

希望对遇到这个问题的人有所帮助...