Rails バックエンドによって提供されるメッセージのリストがあります。私が必要とするのは、「toggle_visibility」アクション ボタンが押されたときに、「publicly_viewable」プロパティを切り替えることです。これは、対応する REST 呼び出しを (データベースに影響を与えるために) 行い、対応するキャッシュされたメッセージの状態を変更することを意味します。これが私が今のところいるところです。
これが私がこれまでに得たもので、最終的にデバッグコンソールにたどり着きました:
# app.js
App.Store = DS.Store.extend({
revision: 12,
adapter: DS.RESTAdapter.extend({
url: 'http://localhost:3000'
})
});
App.Message = DS.Model.extend({
body: DS.attr('string'),
mobile_number: DS.attr('string'),
publicly_viewable: DS.attr('boolean'),
created_at: DS.attr('date')
});
App.Router.map(function() {
this.resource('messages');
});
App.MessagesRoute = Ember.Route.extend({
model: function() { return App.Message.find() }
});
App.MessagesController = Ember.ArrayController.extend({
toggle_visibility: function(){
debugger;
}
});
# index.html
{{#each model}}
<button class="close" {{action toggle_visibility this}}><i class="icon-eye-close"></i></button>
<p class="message_body lead">{{body}}</p>
<small class="source_number">from {{mobile_number}}, received {{date created_at}}</small>
{{/each}}
ここ数時間、Ember Guides を読んでいて、さまざまなクラスが何であるかについてのアイデアを得ましたが、それをどのように行うかを明確に視覚化することはまだできません. 特に、これがルートの問題なのかコントローラーなのかはわかりません。コントローラーの責任である場合は、ObjectController 上にある必要があることはわかっていますが、機能させるのに問題がありました。