2
私はwill_paginateで使用する基本的なデータ型を持っています。データ型ajaxメソッドごとの並べ替え
<table id="users" class="display" data-source="<%= url_for(:controller => "/account", :action => :paginate, :format => :json) %>">
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
<th>Role</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
すべては主に列検索など、素晴らしい働きながらjQueryの
<script type="text/javascript">
jQuery(function() {
return $('#users').DataTable({
processing: true,
serverSide: true,
ajax: $('#users').data('source'),
columns : [
{ data: "first_name" },
{ data: "last_name" },
{ data: "username" },
{ data: "role" }
]
});
});
</script>
で、私の役割欄には、しかし、しません。
他のすべてはSQLを使用してクエリを実行する属性ですが、ロールはメソッド呼び出しです。
def role
return "admin" if self.admin?
return "manager" if self.manager?
return "user"
end
これは列ソートでは機能しません。
これで、will_paginateとdatatablesをajaxで使用して、メソッドの出力でカスタムソートを使用する方法がありますか?私は列にdata-order
を使ってみましたが、それはそうではありません。
ですけれども...応答時間を短縮するためにさまざまな方法が非常に遅い –
ありさのようなバッチで検索したりすること表示する必要があるデータと計算が表示されます。レールのデータベースビューについてのこの記事をご覧くださいhttps://melsatar.blog/2017/05/27/database-views-for-rails-performance-optimization/ –
問題はサーバー側ではなく、datatablesは非常にメモリを消費するクライアントです側。私は2秒未満で10,000レコードを生成することができますが、クライアントがデータ可能要素をそれに添付するために30秒以上かかるでしょう。 –