私は、ソート可能で検索可能なデータのリストを処理する方法として、angular.js を試してきました。
このRailsCastを使用して開始しましたhttp://railscasts.com/episodes/405-angularjs
そして、ここでフィルターの例を調べましたhttp://docs.angularjs.org/api/ng.filter:filter
並べ替えとフィルタリングを数分で実行したときは、畏敬の念を抱きました。したがって、すべての列をフィルタリングすることで、並べ替えと検索が可能な表形式のデータを表示するための理想的なアプローチがあるようです...
「。」を使用してアドレス指定されたjsonのネストされた属性では、フィルターが機能しないように見えることに気付くまで。たとえば、クライアントにはすべて所有者がいて、その電子メール アドレスを表示し、このフィールドで並べ替えてふるいにかけたいと考えています。コードの主要部分は次のようになります。
<tbody ng-repeat="client in clients | orderBy:sort_by:reverse | filter:search">
<tr>
<td>{{name}}</td>
<td>{{owner.email}}</td>
<tr>
<input ng-model="search.name">
<input ng-model="search.owner.email">
owner.email がレンダリングされ、並べ替えは可能ですが、フィルタリングはされません。:include 関連付けごとに 1 つの属性のみを許可し、所有者のメールで search.owner フィルターなどの関連付けを検索するという回避策があります。これはハックのように感じます。これを行うための適切にエレガントな方法が必要です。それは何ですか?