2012-11-28 4 views
0

J'utilise will_paginate avec ajax sort et seen railscasts.com. http://railscasts.com/episodes/240-search-sort-paginate-with-ajaxComment organiser l'ordre par défaut en pagination?

Ma collection pour pagination

@cars = Car.joins(:engine).includes(:engine).select('cars.*, engines.*').order(sort_column + " " + sort_direction).paginate(:page => params[:page], :per_page => 5) 

Mais quand je suis allé à la page d'index, je sautai erreur.

ActiveRecord::StatementInvalid in Items#index 

SQLite3 :: SQLException: nom de la colonne ambiguë: nom:... SELECT "voitures" "id" AS t0_r0, "voitures" "nom" AS t0_r1, "voitures" "model_id" AS t0_r2 " voitures "." city_id "AS t0_r3," voitures "." created_at "AS t0_r4," voitures "." updated_at "AS t0_r5," voitures "." motor_id "AS t0_r6," engines "." id "AS t1_r0," moteurs "." nom "AS t1_r1," moteurs "." created_at "AS t1_r2," moteurs "." updated_at "AS t1_r3 FROM" voitures "INNER JOIN" moteurs "ON" moteurs "." id "=" voitures ". "engine_id" ORDER BY name asc LIMIT 5 OFFSET 0

Mais quand je vais à une page déjà triée, ça marche pour moi.

Je pense erreur par défaut Ordre en SQL.

Comment définir 'cars.name' à la place 'nom'?

+0

S'il vous plaît montrer le code où vous définissez le champ de tri par défaut. Où définissez-vous 'sort_column'? – Mischa

+0

J'ai copié le code à partir de rails http://radiosecasts.com/episodes/240-search-sort-paginate-with-ajax –

+0

sort_column utilisé dans un endroit et je n'ai pas pu déterminer au départ. –

Répondre

0

Je trouve la méthode et définir Tri par défault

private 



def sort_column 
    Car.column_names.include?(params[:sort]) ? params[:sort] : "cars.name" 
    end 
Questions connexes