我有一个与will_paginate一起使用的基本数据表。
<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>
jQuery是
def role
return "admin" if self.admin?
return "manager" if self.manager?
return "user"
end
虽然一切都非常有效,包括列搜索,但我的角色列却没有。
虽然其他一切都是我使用SQL查询的属性,但role是一个方法调用。
data-order
这反过来不适用于列排序。
话虽如此,有没有办法使用带有ajax的will_paginate和datatables来使用方法输出的自定义排序?我尝试在列上使用BigramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 2, max = 2))
tdm_a.bigram = TermDocumentMatrix(docs_a,
control = list(tokenize = BigramTokenizer))
,但似乎并非如此。
答案 0 :(得分:0)
我正在使用will-paginate但我停止使用它。尝试仅在没有分页的情况下使用datatables,因为它内部有分页。
以下是代码示例
<script type="text/javascript">
// DO NOT REMOVE : GLOBAL FUNCTIONS!
$(document).ready(function() {
var responsiveHelper_dt_basic = undefined;
var responsiveHelper_dt_basic2 = undefined;
var breakpointDefinition = {
tablet : 1024,
phone : 480
};
$('#users_table').dataTable({
"sDom": "<'dt-toolbar'<'col-xs-12 col-sm-6'f><'col-sm-6 col-xs-12 hidden-xs'l>r>"+
"t"+
"<'dt-toolbar-footer'<'col-sm-6 col-xs-12 hidden-xs'i><'col-xs-12 col-sm-6'p>>",
"autoWidth" : true,
"preDrawCallback" : function() {
// Initialize the responsive datatables helper once.
if (!responsiveHelper_dt_basic) {
responsiveHelper_dt_basic = new ResponsiveDatatablesHelper($('#users_table'), breakpointDefinition);
}
},
"rowCallback" : function(nRow) {
responsiveHelper_dt_basic.createExpandIcon(nRow);
},
"drawCallback" : function(oSettings) {
responsiveHelper_dt_basic.respond();
},
"iDisplayLength": 50
});
})
</script>