2015-02-11 15 views
5

Ho appena iniziato a refactoring la nostra applicazione Ember per utilizzare Pod in modo che la nostra directory/struttura dei file è più gestibile. Allo stesso tempo, ho aggiornato Ember-Cli così sto facendo funzionare con la seguente configurazione:Refactoring Ember-Cli per utilizzare i pod

Ember  : 1.8.1 
Ember Data : 1.0.0-beta.12 
Handlebars : 1.3.0 
jQuery  : 1.11.2 

Ho aggiornato le le environment.js per includere i seguenti

modulePrefix: 'emberjs', 
podModulePrefix: 'emberjs/pods', 

Ho anche cercato di impostalo su "app/pods" e solo su "pod" ma senza fortuna.

La struttura di directory è la seguente:

emberjs/ 
    app/ 
     controllers - original location, still has some original controllers here for other parts of the system 
     pods/ 
      job/ 
      parts/ 
       index/ 
        controller.js 
        route.js 
        template.hbs 
       edit/ 
        controller.js 
        route.js 
        template.hbs 

L'applicazione costruire ok e se mi guardo allo emberjs.js di file posso vedere i vari definisce per i baccelli controllori, percorsi e modelli

per esempio

define('emberjs/pods/job/parts/index/controller', ['exports', 'ember'], function (exports, Ember) { 
define('emberjs/pods/job/parts/index/route', ['exports', 'ember'], function (exports, Ember) { 
define('emberjs/pods/job/parts/index/template', ['exports', 'ember'], function (exports, Ember) { 

quindi qualcosa sta riconoscendo la struttura dei pod.

Ma il problema si presenta quando provo ad accedere a questa rotta. Ricevo un messaggio di avviso nella console e non visualizzo nulla, in pratica dice che può trovare il modello abd che sembra che stia usando un controller generato.

generated -> controller:parts Object {fullName: "controller:parts"} 
vendor-ver-1423651170000.js:28585 Could not find "parts" template or view. Nothing will be rendered Object {fullName: "template:parts"} 
vendor-ver-1423651170000.js:28585 generated -> controller:parts.index Object {fullName: "controller:parts.index"} 
vendor-ver-1423651170000.js:28585 Could not find "parts.index" template or view. Nothing will be rendered Object {fullName: "template:parts.index"} 
vendor-ver-1423651170000.js:28585 Transitioned into 'jobs.job.parts.index' 

Se guardo nella finestra di ispezione Ember in Chrome vedo che nella sezione Percorsi dimostra parti/indice di avere percorso del regolatore parti/indice come parti/indice e modello come parti/index. È questo che dovrei aspettarmi? Non sono sicuro di come Ember risolva le varie parti durante l'uso dei pod.

Per verificarlo, ho inserito una copia del modello nella directory templates/parts e l'ho ricaricato. Questa volta ha trovato il modello e lo ha reso, ma mancava i dati, probabilmente con l'utilizzo della rotta e del controller predefiniti.

Qualcuno ha idea di cosa sto facendo male. ho perso un passaggio da qualche parte o configurato in modo errato?

+0

Che aspetto ha il file di percorso? – jmurphyau

+0

Nel percorso 'job' e' job.parts', prova ad aggiungere un file 'template.hbs' con solo' {{outlet}} 'al suo interno. – jax

+0

dai un'occhiata a questo - http://www.programwitherik.com/ember-pods/ -, potrebbe essere utile –

risposta

0

Provare a rimuovere percorsi/controller/modelli vecchi quando si aggiungono nuovi percorsi. Non tenere due copie.

Inoltre, potrebbe non essere correlato alla struttura dei file. Prova a creare un'app vuota e a copiare i file uno a uno, per vedere quando il problema inizia a verificarsi. Usa i generatori e poi sovrascrivi i file generati con i tuoi se possibile.