ruby-on-rails ember.js asset-pipeline handlebars.js ember-rails

ruby on rails - ¿Cómo puedo especificar un directorio alternativo para mis plantillas HandlebarsJS con la gema ember-rails?



ruby-on-rails ember.js (1)

Tiene razón en que necesita establecer templates_root . Prueba agregar

config.handlebars.templates_root = ''embro/templates''

al bloque de configuración en application.rb , o

RailsApp::Application.config.handlebars.templates_root = ''embro/templates/''

a un nuevo inicializador, donde RailsApp es el nombre de su aplicación.

Editar:

Pude reproducir el comportamiento que describiste con templates_root . La solución para mí fue eliminar la carpeta /tmp de mi aplicación y reiniciar los rieles. Después de eso, las plantillas fueron nombradas correctamente.

Editar:

Más precisamente, debe borrar la caché de los piñones en /tmp/cache/assets después de cambiar templates_root .

Editar:

Como se menciona en los comentarios a continuación, un simple rake tmp:cache:clear debería resolver el problema.

Tengo una aplicación Rails, y estoy usando Ember en el front-end. Me gustaría mover los archivos relacionados con Ember por un nivel en la estructura del directorio, pero cuando lo hago, las plantillas ya no se procesan.

En la versión simple y funcional de la aplicación, mi estructura de directorios es:

./app/ assets/ javascripts application.js ember-app.js routes.js store.js models/ controllers/ routes/ templates/ views/

con: application.js

//= require jquery //= require jquery_ujs //= require handlebars //= require ember //= require ember-data //= require_self //= require ember-app App = Ember.Application.create();

y: ember-app.js

//= require ./store //= require_tree ./models //= require_tree ./controllers //= require_tree ./views //= require_tree ./helpers //= require_tree ./templates //= require ./router //= require_tree ./routes

Todo funciona bien Sin embargo, me gustaría mover el archivo Ember-app y todos los códigos de JavaScript a un nivel inferior, y cuando lo hago, las plantillas no se procesan. (Parte de la aplicación usa Ember, pero no toda la aplicación, y estoy tratando de configurar dos rutas distintas a través de la canalización de activos).

La estructura deseada es:

./app/ assets/ javascripts application.js embro/ ember-app.js routes.js store.js models/ controllers/ routes/ templates/ views/

con: application.js (revisado: ''require ember-app'' se convierte en ''require embro / ember-app'')

//= require jquery //= require jquery_ujs //= require handlebars //= require ember //= require ember-data //= require_self //= require embro/ember-app App = Ember.Application.create();

(ember-app.js no está revisado).

Como dije, después del movimiento, no aparece nada del contenido de la plantilla en la pantalla. No hay errores en la pantalla o en la consola, solo una aplicación de brasas vacía.

Cuando examino Ember.TEMPLATES en la consola, se enumeran todas las plantillas esperadas. Además, si pongo el contenido deseado en las plantillas x-handlebars en la vista apropiada de los rieles, el contenido se procesa con éxito, tal como lo hizo con la estructura de directorio original.

Por ejemplo, en apps / views / welcome / index.html ....

<script type="text/x-handlebars" data-template-name="application"> <h1>hello</h1> {{ outlet }} </script> <script type="text/x-handlebars" data-template-name="index"> <h1>this is the index</h1> </script>

... y estamos listos para ir de nuevo.

pero si dejo la vista de rieles vacía, como lo hice con la estructura original, es un no ir.

Preguntándose si tal vez la gema ember-rails requiere que las plantillas de manubrios estén presentes en la aplicación / assets / javascripts / templates, y si hay una manera de anular esto. La documentación menciona agregar una opción templates_root al bloque de configuración de la aplicación, y me pregunto si esta es la clave. He jugado un poco, sin suerte todavía.

¿Algunas ideas?

ACTUALIZAR:

Temo que no estoy teniendo suerte con la opción templates_root. Como experimento, intenté construir una nueva y sencilla aplicación de rieles y usar el generador de bootstrap ember-rails para ponerlo en funcionamiento. Todo está bien, pero si intento simplemente cambiar el nombre de la carpeta de plantillas (es decir, app / assets / javascripts / templates -> app / assets / javascripts / temple), con los cambios apropiados en los piñones incluye y config files, I '' m obteniendo los mismos resultados.

¿Alguna posibilidad de que la opción templates_root se rompa de alguna manera?

Estoy usando Ruby 1.9.3, Rails 3.2.11, ember-rails 0.10.0

¿Alguna sugerencia sobre dónde debo buscar en el código fuente de las brasas / brasas / manubrios? Han comenzado a hurgar.

¡Gracias!