Impossible de lire la propriété 'asSorting' undefined - DataTables
for ( j=0, jLen=oColumn.asSorting.length ; j<jLen ; j++ )
à la ligne 6706 de DataTables...
J'ai copié le railscast sur le sujet, à peu près mot pour mot. Donc oColumn
est pas défini. Les interwebs me dire que j'ai besoin d'avoir <thead>
et <th>
valeurs...
vue:
<table id="companyBoxList" class="display" data-source="<%= comp_boxes_path(format: "json") %>"
<thead>
<tr>
<th>uid</th>
<th>length</th>
<th>width</th>
<th>height</th>
<th>weight</th>
<th>trips</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
Voici une copie de la nouvelle classe. Encore une fois, assez bien copié le railscast
boxes_database.rb
class BoxesDatatable
delegate :params, :h, :link_to, :number_to_currency, to: :@view
def initialize(view)
@view = view
end
def as_json(options = {})
{
sEcho: params[:sEcho].to_i,
iTotalRecords: Box.count,
iTotalDisplayRecords: boxes.count,
aaData: data
}
end
private
def data
boxes.map do |box|
[
box.uid,
box.length,
box.width,
box.height,
box.weight,
box.trips
]
end
end
def boxes
@boxes ||= fetch_boxes
end
def fetch_boxes
boxes = Box.order("#{sort_column} #{sort_direction}")
boxes = boxes.page(page).per(per_page)
if params[:sSearch].present?
boxes = boxes.where("uid like :search or trips like :search", search: "%#{params[:sSearch]}%")
end
boxes
end
def page
params[:iDisplayStart].to_i/per_page + 1
end
def per_page
params[:iDisplayLength].to_i > 0 ? params[:iDisplayLength].to_i : 10
end
def sort_column
columns = %w[uid length width height weight trips]
columns[params[:iSortCol_0].to_i]
end
def sort_direction
params[:sSortDir_0] == "desc" ? "desc" : "asc"
end
end
javascript (café):
jQuery ->
$('#companyBoxList').dataTable
sPaginationType: "full_numbers"
bJQueryUI: true
bProcessing: true
bServerSide: true
sAjaxSource: $('#companyBoxList').data('source')
J'ai été en mesure d'obtenir de ce processus, en ajoutant "aoColumns": [null, null, null, null, null, null]
. Cette null les en-têtes, mais, ce qui est contraire au but. Cela indique un problème avec les en-têtes de lecture et non sur le json, comme les données des rendements très bien.
idées?
sans mettre
aoColumns: [null, null, null, null, null, null]
dans mon javascript, des erreurs, affirmant qu'il ne peut pas trouver le oColumn objet.OK, je sais quelle est la raison. se référer à ma réponse, si vous avez d'autres problèmes de juste laisser un commentaire, nous allons aller de l'avant et BTW, je sais que le Rail est génial.
OMG, je suis bête. manquait le
>
sur le début de la <table>
appel. wow.Je ne pense pas que la raison en est que, mais peut-être qu'il est. J'ai posté quelques changé de code que l'espoir peut vous donner quelques idées. faites également attention au format json renvoyé à partir du serveur
OriginalL'auteur Dudo | 2013-03-15
Vous devez vous connecter pour publier un commentaire.
Erreur de syntaxe... manquait une fermeture > sur mon premier appel de table. De vérifier la première ligne de mon code.
OriginalL'auteur Dudo
Si je ne me trompe pas que vous voulez lier les données de la colonne pour le json, donc vous devriez vous changer de code:
OriginalL'auteur OQJF