アカウントのリストがあり、アカウントを詳細に表示するためのビュー リンクがあり、これがアカウント ルートです。表示リンクをクリックすると、ルーターを通過するときに (GUID) が更新されず、URL のみが更新されますが、コードには反映されていないようです。
ブラウザの更新を行うと、(GUID)がルーターに引き継がれます...何らかの理由で解決されません。
私は ember-data を使用していませんが、将来使用します。
「表示」リンクを含む「アカウント」テンプレートコードは次のとおりです。
{{#each accountdata in controller}}
<tr>
<td>{{accountdata.accountnumber}}</td>
<td>{{accountdata.accountname}}</td>
<td>{{accountdata.accounttypestatus}}</td>
<td>{{accountdata.accountuser}}</td>
<td>{{#linkTo account accountdata}}View{{/linkTo}}</td>
</tr>
{{/each}}
accountdata は、私の ID である「accountguid」のコンテキストです。
これが私のルーターです:
App.Router.map(function() {
this.resource("accounts", { path: '/accounts' });
this.resource("account", { path: "/accounts/:accountguid" });
});
App.AccountsRoute = Ember.Route.extend({
setupController: function(controller, model) {
controller.set('searchfilter','ALL');
controller.search();
}
});
App.AccountRoute = Ember.Route.extend({
setupController: function(controller, model) {
controller.show(controller);
},
model: function(params) {
this.controllerFor('account').set('accountguid',params.accountguid);
},
serialize: function(model) {
return {accountguid: Em.get(model, 'accountguid')}
}
});
私の controller.show は、コンテキストを送信してスクリプトを呼び出し、アカウントの詳細を表示する場所です。
したがって、毎回正しいaccountguidを実行してから、show(context)メソッドを呼び出すビューが必要です。
ありがとう
これは、100% 機能する私の古いルーター コードです。リンクをクリックすると :accountguid が解決され、ブラウザを更新すると同じことが起こりました。問題はありませんでした。すべてがうまくいきました。
// //Accounts
// accounts: Ember.Route.extend({
// route: '/accounts',
// index: Ember.Route.extend({
// route: '/',
// connectOutlets: function (router) {
// router.get('applicationController').connectOutlet('accounts');
// router.get('accountsController').set('searchfilter','ALL');
// router.get('accountsController').search();
// }
// }),
// view: Ember.Route.extend({
// route: '/:accountguid',
// connectOutlets: function (router, account) {
// router.get('applicationController').connectOutlet('account', account);
// router.get('accountController').show(account);
// //router.get('accountController').connectOutlet('eventloghistory','eventloghistory');
// }
// })
// }),