Mam aplikację Rails i używam Ember na front-end. Chciałbym przenieść pliki związane z emberem o jeden poziom w strukturze katalogów, ale kiedy to zrobię, szablony przestaną się wyświetlać.Jak mogę określić alternatywny katalog dla moich szablonów HandlebarsJS z klejnotem ember-rails?
W zwykłym, wanilii, wersji aplikacji działa, moja struktura katalogów jest:
./app/
assets/
javascripts
application.js
ember-app.js
routes.js
store.js
models/
controllers/
routes/
templates/
views/
z: application.js
//= require jquery
//= require jquery_ujs
//= require handlebars
//= require ember
//= require ember-data
//= require_self
//= require ember-app
App = Ember.Application.create();
oraz: 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
Wszystko działa poprawnie. Chciałbym jednak przenieść plik ember-app i cały kod javascript ember o jeden poziom, a kiedy to zrobię, szablony nie będą renderować. (Część aplikacji korzysta Ember, ale nie całą aplikację, a ja staram się skonfigurować dwie oddzielne ścieżki rurociągiem aktywów.)
Pożądana struktura jest następująca:
./app/
assets/
javascripts
application.js
embro/
ember-app.js
routes.js
store.js
models/
controllers/
routes/
templates/
views/
w: application.js (zmieniony: 'wymaga ember aplikacji' staje się 'wymaga Embro/żaru app')
//= require jquery
//= require jquery_ujs
//= require handlebars
//= require ember
//= require ember-data
//= require_self
//= require embro/ember-app
App = Ember.Application.create();
012 (żaru-app.js jest Niezmieniony).
Jak już powiedziałem, po ruchu, żadna treść szablonu nie pojawia się na ekranie. Brak błędów na ekranie lub w konsoli, tylko pusta aplikacja ember.
Kiedy sprawdzam Ember.TEMPLATES w konsoli, wszystkie oczekiwane szablony są wymienione. Co więcej, jeśli umieściłem pożądaną treść w szablonach kierownic x w odpowiednim widoku szyn, zawartość pomyślnie renderuje, tak jak w przypadku oryginalnej struktury katalogów.
Na przykład, w apps/widoki/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>
... i jesteś dobry, aby przejść ponownie.
ale jeśli zostawiam pusty widok szyn, tak jak to zrobiłem z oryginalną strukturą, to nie da.
Zastanawiasz się, czy klejnot ember-rails wymaga obecności szablonów kierownicy w aplikacji/asset/javascripts/templates i czy istnieje sposób, aby to zmienić. W dokumentacji wspomniano o dodaniu opcji templates_root do bloku konfiguracji aplikacji i zastanawiam się, czy to jest klucz. Grałem już trochę, ale bez powodzenia.
Wszelkie pomysły?
UPDATE:
boi ja nie mający szczęścia z opcją templates_root. W ramach eksperymentu próbowałem zbudować nową, prostą aplikację szyny i użyć generatora ładowania początkowego ember-rails, aby go uruchomić.Wszystko jest w porządku, ale jeśli spróbuję po prostu zmienić nazwę folderu (np. App/assets/javascripts/templates -> app/assets/javascripts/temple), z odpowiednimi zmianami w zębach i plikach konfiguracyjnych, Otrzymuję takie same wyniki.
Czy istnieje szansa, że opcja templates_root zostanie w jakiś sposób uszkodzona?
Używam Ruby 1.9.3, 3.2.11 Rails, ember barierki 0.10.0
Wszelkie odnośniki do gdzie należy szukać w kodzie źródłowym ember/ember szyn/kierownicy? Zaczęłam grzebać.
dziękuję!
Nawet jeśli works_root działa, ale nadal ogranicza się tylko do jednego obszaru nazw. Chciałbym zrobić to samo, ale także mieć coś w rodzaju sekcji admin.js i admin/templates. – ootoovak