私のアプリケーションには、LoginController と RsvpController の 2 つのコントローラーがあります。現在のログインに関連する Rsvps のリストをロードしたいと考えています。
私のログイン コードは機能しているようですが、次の警告を回避するのに問題があります。
また、私は ember の方法で物事を行っていないと思うので、このコードを改善してより多くの ember 機能を使用する方法についてコメントをいただければ幸いです。
コントローラーは次のとおりです。
App.RsvpController = Ember.ArrayController.extend({
needs: ['login'], // borrows from login controller
content: [],
loadModel : function() {
var theCode = this.controllerFor('login').get('code');
console.log("Loading Model for code " + theCode);
var rsvpArray = App.Rsvp.find({
code : theCode
});
this.set('content', rsvpArray);
rsvpArray.addObserver('isLoaded', function() {
console.log("Loaded rsvpArray" + Em.inspect(this));
});
}.property('controllers.login.code'), // reload model if the user changes login
});
以下は index.html の一部です。
<script type="text/x-handlebars" id="rsvp">
<p>placeholder for <b>RSVP</b></p>
{{#if controllers.login.name }}
<!-- rsvp code here -->
Logged in with code {{controllers.login.code}}
{{ loadModel }} <!-- call loadModel function to populate model when this is rendered -->
{{#each model}}
<p>givenName {{givenname}}</p>
{{/each}}
{{else}}
<i>Please login first!</i>
{{/if}}
</script>