ฉันมีแอปพลิเคชัน Rails และฉันใช้ Ember ที่ส่วนหน้า ฉันต้องการย้ายไฟล์ที่เกี่ยวข้องกับถ่านลงหนึ่งระดับในโครงสร้างไดเร็กทอรี แต่เมื่อฉันทำ เทมเพลตจะไม่แสดงผลอีกต่อไป
ในแอปพลิเคชันเวอร์ชันธรรมดา วานิลลา โครงสร้างไดเร็กทอรีของฉันคือ:
./app/
assets/
javascripts
application.js
ember-app.js
routes.js
store.js
models/
controllers/
routes/
templates/
views/
ด้วย: application.js
//= require jquery
//= require jquery_ujs
//= require handlebars
//= require ember
//= require ember-data
//= require_self
//= require ember-app
App = Ember.Application.create();
และ: 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
ทุกอย่างทำงานได้ดี อย่างไรก็ตาม ฉันต้องการย้ายไฟล์ ember-app และโค้ด ember javascript ทั้งหมดลงหนึ่งระดับ และเมื่อฉันทำเช่นนั้น เทมเพลตจะไม่แสดงผล (ส่วนหนึ่งของแอปพลิเคชันใช้ Ember แต่ไม่ใช่แอปพลิเคชันทั้งหมด และฉันกำลังพยายามตั้งค่าสองเส้นทางแยกกันผ่านไปป์ไลน์สินทรัพย์)
โครงสร้างที่ต้องการคือ:
./app/
assets/
javascripts
application.js
embro/
ember-app.js
routes.js
store.js
models/
controllers/
routes/
templates/
views/
ด้วย: application.js (แก้ไข: 'require ember-app' กลายเป็น '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 ไม่มีการแก้ไข)
อย่างที่ฉันบอกไป หลังจากย้ายแล้ว ไม่มีเนื้อหาเทมเพลตใดปรากฏบนหน้าจอ ไม่มีข้อผิดพลาดบนหน้าจอหรือในคอนโซล มีเพียงแอปพลิเคชันถ่านที่ว่างเปล่า
เมื่อฉันตรวจสอบ Ember.TEMPLATES ในคอนโซล เทมเพลตที่คาดหวังทั้งหมดจะถูกแสดงรายการ นอกจากนี้ หากฉันใส่เนื้อหาที่ต้องการลงในเทมเพลต x-handlebars ในมุมมอง Rails ที่เหมาะสม เนื้อหาจะเรนเดอร์ได้สำเร็จ เช่นเดียวกับที่ทำกับโครงสร้างไดเร็กทอรีดั้งเดิม
ตัวอย่างเช่น ใน 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>
... และเราก็พร้อมที่จะไปอีกครั้ง
แต่ถ้าผมปล่อยรางให้ว่างเหมือนที่ผมทำกับโครงสร้างเดิม มันก็ไม่ไป
สงสัยว่าบางทีอัญมณี ember-rails จำเป็นต้องมีเทมเพลตแฮนด์บาร์แสดงใน app/assets/javascripts/templates หรือไม่ และมีวิธีแทนที่สิ่งนี้หรือไม่ เอกสารกล่าวถึงการเพิ่มตัวเลือก templates_root ให้กับบล็อกการกำหนดค่าแอปพลิเคชัน และฉันสงสัยว่านี่คือกุญแจสำคัญหรือไม่ ฉันเล่นไปบ้างแล้ว ยังไม่มีโชคเลย
มีความคิดอะไรบ้าง?
อัปเดต:
กลัวว่าฉันไม่มีโชคกับตัวเลือก templates_root จากการทดลอง ฉันพยายามสร้างแอป Rails ใหม่ที่เรียบง่าย และใช้ตัวสร้างบูตสแตรป ember-rails เพื่อเริ่มต้นและรัน ทุกอย่างเป็นไปด้วยดี แต่ถ้าฉันพยายามเปลี่ยน ชื่อ ของโฟลเดอร์เทมเพลต (เช่น app/assets/javascripts/templates -> app/assets/javascripts/temple) โดยมีการเปลี่ยนแปลงที่เหมาะสมกับเฟือง รวมและกำหนดค่าไฟล์ ฉันได้ผลลัพธ์เดียวกัน
มีโอกาสที่ตัวเลือก templates_root จะใช้งานไม่ได้หรือไม่
ฉันใช้ Ruby 1.9.3, Rails 3.2.11, ember-rails 0.10.0
ตัวชี้ใด ๆ ที่ฉันควรดูในซอร์สโค้ด ember / ember-rails / handlebars เริ่มเพ้อเจ้อแล้ว
ขอบคุณ!