inanıyorum inanıyorum her ikisi de öğrenmek için ember ve hapi kullanan bir uygulama oluşturmaya başladı.Ember app API okuma değil, hapijs kullanarak Ben benim API iyi bir imber sorunu
Aşağıdaki snippet'leri yapıştırdım ancak orada sahip olduğum şeyi görüntülemekle ilgileniyorsanız, buradaki repoda hem sunucu hem de ember uygulaması var, https://github.com/jrutishauser/contactsApp.
benim hapi sunucusu
adaptörler/uygulama,
http://localhost:3000/api/contacts
benim kor uygulaması içeren altında bu dosyaları vardır benim sql sunucusuna
{"data":[{"id":1,"first_name":"Joe","middle_initial":null,"last_name":"Smith","title":null,"phone_number":"(555) 111-2222","email":"[email protected]","street_address":"123 Some Street","city":"Salt Lake City","state":"Utah","zip_code":"84111","created_at":1456988902625,"updated_at":1456988902625},{"id":2,"first_name":"John","middle_initial":null,"last_name":"Jones","title":null,"phone_number":"(555) 222-3333","email":"[email protected]","street_address":"1432 Another Street","city":"Montgomery","state":"Alabama","zip_code":"99291","created_at":1456988902625,"updated_at":1456988902625},{"id":3,"first_name":"Joe","middle_initial":null,"last_name":"Smith","title":null,"phone_number":"(555) 111-2222","email":"[email protected]","street_address":"123 Some Street","city":"Salt Lake City","state":"Utah","zip_code":"84111","created_at":1457588539468,"updated_at":1457588539468},{"id":4,"first_name":"John","middle_initial":null,"last_name":"Jones","title":null,"phone_number":"(555) 222-3333","email":"[email protected]","street_address":"1432 Another Street","city":"Montgomery","state":"Alabama","zip_code":"99291","created_at":1457588539468,"updated_at":1457588539468}]}
aşağıda gösteriliyor var. js,
1 import DS from 'ember-data';
3 export default DS.JSONAPIAdapter.extend({
4 namespace: 'api',
5 host: 'http://localhost:3000'
6 });
modelleri/contact.js,
1 import DS from 'ember-data';
3 export default DS.Model.extend({
5 firstName: DS.attr('string'),
6 lastName: DS.attr('string'),
7 middleInitial: DS.attr('string'),
8 title: DS.attr('string'),
9 phoneNumber: DS.attr('string'),
10 email: DS.attr('string'),
11 streetAddress: DS.attr('string'),
12 city: DS.attr('string'),
13 state: DS.attr('string'),
14 zipCode: DS.attr('string'),
15 createdAt: DS.attr('date'),
16 updatedAt: DS.attr('date')
17 });
yolları/Ben de serializers/application.js altında Bunu ayarlamak ama normalleştirmek için ihtiyacım yok çünkü onun gerekli dont düşünmek
1 import Ember from 'ember';
2
3 export default Ember.Route.extend({
4 model: function(){
5 return this.store.findAll('contact');
6 }
7 });
contacts.js şey
1 import DS from 'ember-data';
2
3 export default DS.JSONAPISerializer.extend({
4 primaryKey: 'id',
5 serializeId: function(id) {
6 return id.toString();
7 }
8 });
şablonları/contacts.hbs
1 <ul>
2 {{#each contact in model}}
3 <li>{{#link-to 'contact' contact}}{{contact.firstName}}{{/link-to}}</li>
4 {{/each}}
5 </ul>
6
7 {{outlet}}
Tüm Im'larım, şu anda api'den gelen listeyi göstermek için rehber rotasıdır, henüz bununla işim bitmedi ve bir süredir burada kaldım. Varsayılan olarak Kor Verilerini kullanıyorsanız o seri ve kayıtları serisini JSONAPISerializer
kullanır ben vardır olsun
konsol hataları
ember.debug.js:28590 Error while processing route: contacts.index Assertion Failed: You may not set `id` as an attribute on your model. Please remove any lines that look like: `id: DS.attr('<type>')` from (unknown mixin) Error: Assertion Failed: You may not set `id` as an attribute on your model. Please remove any lines that look like: `id: DS.attr('<type>')` from (unknown mixin)
ve
Error: Assertion Failed: Encountered a resource object with an undefined type (resolved resource using [email protected]:application:)
Bu kaynakları paylaştığınız için teşekkürler Bugün bir şans elde ettiğimde bunların üzerinden geçeceğim ve umarım hata buluyorum. – imnothardcore
@imnothardcore Örnek aldığınız ikinci hatanın nedeni, model için model tanımlamanız gerektiğidir.Yani her bir kişi 'type = 'contact'' yanıtında olmalıdır. Ayrıca, tüm öznitelikler, öznitelikler 'karma'sında yanıt olarak tanımlanmalıdır. Yukardaki bağlantıda, ember kılavuzlarından, yükün nasıl görünmesi gerektiği biraz daha iyi bir örnek görebilirsiniz. – Altrim
teşekkürler, tüm konsol hatalarımı çözdüm ve ember chrome eklentisini kullanarak dizimi 4 nesne ile görebiliyorum. Görünüşe bakılırsa, ember modelimde/şablonumda bir hata var. – imnothardcore