私は Ember.js(rc0) と Rails で作業でき、期待どおりに動作するシンプルなアプリを作成できますが、特定のストーリーに焦点を当てたいと考えています。
ユーザーとして、フォームに「フィルター」テキストを入力してから、フィルターに一致する項目のみを ArrayController に表示させたいと考えています。たとえば、「Ya%」のような名前の人を表示する連絡先アプリを考えてみてください...
警告: データベースが何千もの連絡先レコードを保持しているとします。クライアントでこれらの連絡先をフィルタリングしたくありません。サーバーでそれを行う方が理にかなっています。
質問: ember.js/ember-data でこれを行うにはどうすればよいですか? サーバーでは、インデックス URL の検索パラメーターを簡単に許可して、データをフィルター処理して管理しやすいリストにしたり、応答を 20 項目に制限したりすることもできます。
ビューを使用してコントローラーのフィルター テキストにアクセスすることもできますが、次はどこに行けばよいでしょうか? そのフィルターをサーバーに渡すにはどうすればよいですか?
アップデート:
モデル オブジェクトで「find」を使用することができ、ember (ember データ) がサーバーに移動して新しいデータを取得しました。クライアント側には最初からすべての Contact レコードのサブセットしかなかったからです。クライアントで何をフィルタリングする代わりに、サーバーに自動的に延期されます...これは素晴らしいことです。
App.ContactIndexController = Ember.ArrayController.extend
search_term: null
submit: (view) ->
this.set('content', App.Contact.find({search: "#{view.search_term}"}))