2017-04-14 2 views
0

Ich implementiere Filterrific in Rails 5, aber keine Sortierfunktion. Stattdessen versuche ich ein bestimmtes Sortierkriterium festzulegen, das sich nicht ändert, also kein Sortierfeld in Sicht oder Option auswählen. Ich bemühe mich darum, dass ich die Veränderung des Umfangs, die ich gemacht habe, erkennen kann. Jede Hilfe sehr geschätzt ...Feste Sortierung mit Filterrific

Der Fehler I erzeugt wird erhalten, indem der Controller:

"Invalid Standardfilter params: [" sorted_by "]"

Modell:

scope :sorted_by, lambda { |sort_option| 
    case sort_option 
    when /^date_desc/ 
    order("account_xactions.xaction_date desc") 
    end 
} 

filterrific(
    default_filter_params: { sorted_by: 'date_desc' }, 
    available_filters: [ 
    :search_query, 
    :with_account_id 
    ] 
) 

Controller:

@filterrific = initialize_filterrific(
    AccountXaction, 
    params[:filterrific], 
    :select_options => { 
    with_account_id: Account.options_for_select 
    } 
) or return 
@account_xactions = @filterrific 

Antwort

0

Was denken Sie, Lloydo ...

Sie haben vergessen, den Bereich in den Abschnitt available_filters hinzuzufügen, und außerdem haben Sie die find-Methode für den Aufruf von filterrific im Controller nicht hinzugefügt.

filterrific(
    default_filter_params: { sorted_by: 'date_desc' }, 
    available_filters: [ 
    :sorted_by, 
    :search_query, 
    :with_account_id 
    ] 
) 

Aufruf im Controller:

@account_xactions = @filterrific.find