2015-05-04 2 views
0

У меня возникли проблемы с использованием Ckeditor в производственной среде.Активы компиляции Ckeditor рельсы в heroku

У меня есть 2 среды, постановка и производство, оба из них находятся в Heroku.

Я могу видеть Ckeditor в промежуточной среде, но не prod.

Моя конфигурация выглядит следующим образом: конфигурации/среда/production.rb:

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

конфигурации/Инициализаторы/assets.rb:

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

приложение/активы/JavaScripts/application.js :

//= require ckeditor/init 

(который в основном соответствует https://github.com/galetahub/ckeditor)

Как установка среды, так и производство RAILS_ENV = производство.

Я использую Amazon S3 для обслуживания своих активов, что прекрасно, потому что я вижу, что функции javascript, значки и изображения присутствуют в производстве.

Есть ли что-то очевидное, что я здесь отсутствует?

Спасибо!

P.S: Я использую RoR 4.2 и CKEditor 4.1.1

EDIT:

1 - я проверил JavaScript служил как в окружающей среде, а файл то же самое! и Javascript-код Ckeditor присутствует в обоих. Таким образом, проблема не в прекомпиляции активов, а в другом ...

2 - Файл ckeditor.js присутствует в ведро, но я все еще получаю 404 ответа от сервера. Файл находится под активы/CKEditor/CKEditor-xxxx.js

+0

Вы сказали, что файлы javascripts подаются в Prod. Итак, вы получаете ошибки JS? У меня была такая же проблема, но это связано с компиляцией Asset. –

+0

Да после расследования кажется, что файл public/assets/ckeditor/ckeditor-xxxx.js не найден в активах. Я не уверен, как включить его, так как prod и staging имеют точно такую ​​же конфигурацию (кроме кодов S3). –

+0

Вы можете попытаться предварительно скомпилировать актив, чтобы убедиться, что он исправит его. RAILS_ENV = пакет разработки exec rake assets: precompile Я знаю, что это не исправление, но я действительно сделал это для одного из моих проектов. –

ответ

1

Наконец, я мог бы решить эту проблему, добавив камень

gem 'non-stupid-digest-assets', '~> 1.0.4' 

Он собирает актив без дайджеста.

Проблема заключалась в том, что активы ckeditor были скомпилированы с помощью дайджеста, но в коде (внутри драгоценного камня) он ссылался непосредственно без дайджестов.

Надеюсь, это поможет тем, кто справляется с этой проблемой ...

Смежные вопросы