2
我已經準備好了這個jsfiddle。這是代碼:鏈接路由到單個對象,無編號
App = Ember.Application.create();
App.Store = DS.Store.extend({
revision: 13,
adapter: 'DS.FixtureAdapter'
});
App.Router.map(function() {
// put your routes here
});
App.User = DS.Model.extend({
name : DS.attr('string'),
email : DS.attr('string'),
});
App.User.FIXTURES = [{ id: 'me', name: 'Max Smith', email: '[email protected]' }];
App.IndexRoute = Ember.Route.extend({
model: function() {
return App.User.find();
}
});
這是模板:
<script type="text/x-handlebars" data-template-name="index">
{{#each model}}
<div class="form_labels_wrapper">
<dl class="dl-horizontal">
<dt>Id:</dt> <dd>{{id}}</dd>
<dt>Name:</dt> <dd>{{name}}</dd>
<dt>Email:</dt> <dd>{{email}}</dd>
</dl>
{{/each}}
</div>
</script>
我想要做的是顯示單個用戶的數據。 opbject沒有id(它代表已登錄的用戶,這是與會話相關的,並且沒有可見的用於ember的id)。相反,我不得不創建一個用戶列表(使用一個用戶),並給它一個僞造的ID(me
)。這在我的應用程序中沒有任何意義。
我想用這個模板,但我不知道如何爲這個配置燼:
<script type="text/x-handlebars" data-template-name="index">
<div class="form_labels_wrapper">
<dl class="dl-horizontal">
<dt>Name:</dt> <dd>{{name}}</dd>
<dt>Email:</dt> <dd>{{email}}</dd>
</dl>
</div>
</script>
有了這個燈具:
App.User.FIXTURES = { name: 'Max Smith', email: '[email protected]' };
注意,這是一個單一的元素,而且我沒有循環使用#each
這些模型,因爲這不應該是一個列表:只有一個元素。
Ember拒絕接受這個。我能做些什麼才能使這個工作?
謝謝,雖然不完全是我想要的。我的要求是'api/me',服務器回覆登錄用戶的數據。我將不得不提供一個新的API端點'api/users/me'(幸運的是我可以改變服務器端)。這很尷尬,因爲我只*擁有'我'用戶。但是慢慢地,我開始相信,用燼來做這件事是不可能的。似乎燼真的需要做「找到所有」,或者「用ID查找對象」。這是不可能告訴燼:「在這裏你有一個對象,只有一種,它沒有身份證,但這是很好的」。 – dangonfast