私が何を意味するのかを簡単に説明しましょう。EmberとRailsを利用したアプリを書いています。すべての従業員は、他の同僚に称賛を与えることができます。彼は他に何人受け取ったかわからない。残された賞賛の数と、他の人から受け取った賞賛の数しかわかりません。
しかし、Railsとの通信方法がよくわかりません。写真は千の言葉に値するので、これを見てください: kudos app http://wstaw.org/m/2013/03/25/kudos.png
アプリが起動すると、/usersを指すユーザーのリストが読み込まれます。現在のユーザーは/currentuserにいます。現在のユーザーは、kudosReceivedやkudosLeftなどの追加フィールドがあるという点で異なります。
ジョーに工藤を追加したいとしましょう。ボタンをクリックすると、何が表示されますか?/ kudos / useridに行くと、railsが魔法をかけるとしましょう。ジョーに賞賛を加えるだけです。ただし、更新された現在のユーザーデータも取得したいと思います(/ currentuserにあることを忘れないでください)。
何を送ればいいですか?最初にコントローラーでCREATEまたはUPDATEメソッドを使用する必要がありますか?現在のユーザーの新しいデータを取得するにはどうすればよいですか?コールバックで?または、GETで/currentuserを使用する必要があります。でもいつ?
これは私が今持っているものですが、それがどれほど正しいかは完全にわかりません
// application.handlebars
<h1>My Kudos</h1>
<div id="kudos-content">
<ul id="kudos-list">
{{#with controllers.current}}
<li>
<p>{{firstName}} {{lastName}}</p>
<p><img {{bindAttr src="imageUrl"}} /></p>
<p>received: {{kudosReceived}}</p>
<p>left: {{kudosLeft}}</p>
</li>
{{/with}}
{{#each user in controllers.users}}
<li>
<p>{{user.firstName}} {{user.lastName}}</p>
<img {{bindAttr src="user.imageUrl"}} />
<a href="#" {{action "addKudo" user.id target="controller.controllers.kudo"}}>(+)</a>
</li>
{{/each}}
</ul>
</div>
Sks.KudoController = Ember.ObjectController.extend({
addKudo: function(userId) {
// create a new record on a local transaction
this.transaction = this.get('store').transaction();
// don't really know what next
}
});
次の問題は、{{action}}で/ kudo/useridを使用する方法です。