Saya memiliki aplikasi Rails, dan saya menggunakan Ember di front-end. Saya ingin memindahkan file terkait ember ke bawah satu tingkat dalam struktur direktori, tetapi ketika saya melakukannya, templatnya tidak lagi dirender.
Secara sederhana, vanilla, versi aplikasi yang berfungsi, struktur direktori saya adalah:
./app/
assets/
javascripts
application.js
ember-app.js
routes.js
store.js
models/
controllers/
routes/
templates/
views/
dengan: application.js
//= require jquery
//= require jquery_ujs
//= require handlebars
//= require ember
//= require ember-data
//= require_self
//= require ember-app
App = Ember.Application.create();
dan: 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
Semuanya berfungsi dengan baik. Namun, saya ingin memindahkan file aplikasi ember dan semua kode javascript ember ke bawah satu tingkat, dan ketika saya melakukannya, templatnya tidak dirender. (Sebagian aplikasi menggunakan Ember, tetapi tidak keseluruhan aplikasi, dan saya mencoba menyiapkan dua jalur terpisah melalui jalur aset.)
Struktur yang diinginkan adalah:
./app/
assets/
javascripts
application.js
embro/
ember-app.js
routes.js
store.js
models/
controllers/
routes/
templates/
views/
dengan: application.js (direvisi: 'require ember-app' menjadi '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 tidak direvisi.)
Seperti yang saya katakan, setelah pemindahan, tidak ada konten template yang muncul di layar. Tidak ada kesalahan di layar atau di konsol, hanya aplikasi ember kosong.
Saat saya memeriksa Ember.TEMPLATES di konsol, semua templat yang diharapkan telah terdaftar. Selanjutnya, jika saya meletakkan konten yang diinginkan dalam templat x-stang dalam tampilan Rails yang sesuai, konten tersebut berhasil dirender, sama seperti yang terjadi pada struktur direktori asli.
Misalnya, di 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>
... dan kami siap berangkat lagi.
tetapi jika saya membiarkan tampilan rel kosong, seperti yang saya lakukan dengan struktur aslinya, tidak ada jalan keluarnya.
Ingin tahu apakah mungkin permata ember-rails memerlukan templat setang untuk ada di aplikasi/aset/javascripts/templat, dan apakah ada cara untuk menggantinya. Dokumentasi menyebutkan penambahan opsi templates_root ke blok konfigurasi aplikasi, dan saya bertanya-tanya apakah ini kuncinya. Saya sudah bermain-main sedikit, belum berhasil.
Ada ide?
MEMPERBARUI:
Sayangnya saya tidak beruntung dengan opsi templates_root. Sebagai percobaan, saya mencoba membuat aplikasi Rails baru yang sederhana, dan menggunakan generator bootstrap ember-rails untuk mengaktifkan dan menjalankannya. Semuanya baik-baik saja, tetapi jika saya mencoba mengubah nama folder templat (yaitu app/assets/javascripts/templates -> app/assets/javascripts/temple), dengan perubahan yang sesuai pada sprocket termasuk dan file konfigurasi, saya mendapatkan hasil yang sama.
Adakah kemungkinan opsi templates_root rusak?
Saya menggunakan Ruby 1.9.3, Rails 3.2.11, ember-rails 0.10.0
Adakah petunjuk ke mana saya harus mencari kode sumber ember/ember-rails/stang? Sudah mulai mencari-cari.
terima kasih!