heroku ruby-on-rails-4 ckeditor asset-pipeline production-environment

Problemas con ckeditor corriendo en producción Aplicación Rails con Heroku



ruby-on-rails-4 asset-pipeline (6)

Agregar config.assets.precompile += Ckeditor.assets en su application.rb debería hacer el trabajo.

Estoy usando la gema ckeditor en mi aplicación Rails 4 . Todo funciona muy bien a nivel local y en mi entorno de ensayo heroku, pero obtengo estos errores cuando presiono en el entorno de producción:

GET http://myapp.herokuapp.com/assets/ckeditor/contents.css 404 (Not Found) GET http://myapp.herokuapp.com/assets/ckeditor/skins/moono/icons.png 404 (Not Found)

El editor aparece bien, pero faltan todos los iconos.

Seguí el archivo README ( https://github.com/galetahub/ckeditor ), pero probablemente me esté perdiendo algo.

Aquí están mis pasos:

1) instalación de la gema, generar etc ...

2) config.autoload_paths += %W(#{config.root}/app/models/ckeditor) en application.js

3) mount Ckeditor::Engine => "/ckeditor" en routes.rb (no entiendo por qué)

4) En application.js

//= require ckeditor/override //= require ckeditor/init

¿Qué está haciendo exactamente esto? ¿Por qué se necesita anular? (Dónde están ubicados estos archivos, porque no están en /app/assets , ni en /lib/assets ni en /vendor/assets )

Heroku solo está orientado a la lectura, por lo tanto, no puedo ejecutar la tarea de rake como se explica en el tutorial. Y creo que es por eso que obtengo los errores en el modo de producción.

¿Alguien se enfrentó al mismo problema? Repasé todas las preguntas de stackoverflow, pero nada resolvió mi problema hasta el momento.

ACTUALIZAR:

La única forma en que me enteré para que funcione es la compilación en vivo: config.assets.compile = true Pero preferiría no utilizar esto en producción, y no entiendo por qué funciona.


Tuve el mismo problema, aquí están mis archivos y cómo lo arreglé:

application.js

//= require ckeditor/override //= require ckeditor/init

Gemfile

group :production do gem ''rails_12factor'' end

luego ejecute el paquete para generar Gemfile.lock y confirme los archivos en su repositorio.

production.rb

config.serve_static_assets = true config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif) config.assets.compile = false # we don''t want compilation fallbacks

Implementar a heroku y verificarlo.

Espero que ayude de alguna manera.



Actualmente la solución para este problema ha sido cambiada.

No es necesario incluir "ckeditor / override.js"

1 Actualiza tu joya.

bundle update ckeditor

2 Agregue esta línea a su archivo config / application.rb

config.assets.precompile += Ckeditor.assets config.assets.precompile += %w( ckeditor/* ) config.autoload_paths += %W(#{config.root}/app/models/ckeditor)

Funciona para mí la esperanza también funcionará para ti.


Seguí las instrucciones en GitHub

Debes establecer con true la siguiente variable en el archivo config / enviroments / production.rb

config.assets.compile = true

y agrega el siguiente código

config.assets.precompile += Ckeditor.assets config.assets.precompile += %w(ckeditor/* ) config.autoload_paths += %W(#{config.root}/app/models/ckeditor)

Mi entorno para esta solución fue:

gem ''ckeditor'', ''~> 4.1''

ruby "2.3.0"

Rieles 5.0.0.1


He estado trabajando en la aplicación y eso funciona bien en dev env pero cuando lo despliegue en Heroku los activos no se cargan en absoluto y por esa razón no puedo cargar TinyMCE o CkEditor js o css.

Encontré una solución alternativa y compilé activos localmente y los llevé a Heroku, luego obtuve la URL compilada de los assests para CkEditor JS y la incluí en mi opinión como

<script src="/assets/ckeditor/ckeditor.js"></script>

Si quieres cargar activos de ckeditor desde la nube puedes usar CDN como

<script src="https://cdnjs.cloudflare.com/ajax/libs/ckeditor/4.6.2/ckeditor.js"</script>

También necesita cambiar algunas configuraciones en su archivo production.rb

config.assets.compile = true config.assets.precompile += Ckeditor.assets config.assets.precompile += %w(ckeditor/* ) config.autoload_paths += %W(#{config.root}/app/models/ckeditor)

y también comienza a trabajar en Heroku.

Para cualquier otro problema, responda por favor.