2017-10-26 2 views
0

Ich habe Suchfunktionalität für meine Indexseite implementiert. Ich bin mitSchienen sortieren und suchen

helper_method :sort_column, :sort_direction 

def sort_column 
    SyuhoArea.column_names.include?(params[:sort]) ? params[:sort] : "syuhoid" 
end 

def sort_direction 
    %w[asc desc].include?(params[:direction]) ? params[:direction] : "desc" 
end 

zum Sortieren. Jetzt ist die Issuse immer wenn ich zum Sortieren klicke, wird die Seite neu geladen und deswegen werden die Suchtextfelder gelöscht.

Ich möchte Textfelder suchen, um ihre Werte beim Sortieren zu halten. Gibt es eine Möglichkeit, dass ich Such-Textbox-Werte als Parameter übergeben kann, während die Parameter [: sort] und params [: direction] an den Controller übergeben werden.

Dafür habe ich benutzerdefinierte Link hart codierten Link in Sicht.

bevor es wie

war
<th class="text-center"><%= sortable "dept_id", "dept_id" %> </th> 

jetzt ich habe es

<th class="text-center asc"> 
    <a class="current asc" href="/syuho_honbus?direction=asc&amp;sort=dept_id;dept_id=<%= params[:dept_id]%>;status=<%= params[:status]%>;created_at=<%= params[:created_at]%>">状況</a> </th> 

gemacht Nun aber es wird nur in aufsteigender Reihenfolge sortiert.

Antwort

0

Verwenden Sie in Ihrem Controller eine '@' - Variable, um die Werte für die Suche in der Textbox zu übergeben. Verwenden Sie in Ihrem Formular die gleiche Variable, und da sie ausgefüllt ist, wird sie in Ihrer Ansicht angezeigt. In der anfänglichen Ansicht der Seite ist die Variable null, so dass sie leer ist.

0

Versuchen this-

helper_method :sort_column, :sort_direction 

    def sort_column 
     @sort_column ||= SyuhoArea.column_names.include?(params[:sort]) ? params[:sort] : "syuhoid" 
    end 

    def sort_direction 
     @sort_direction ||= %w[asc desc].include?(params[:direction]) ? params[:direction] : "desc" 
    end 
+0

es funktioniert gleich wie ich in Frage erwähnt. –

+0

Ich habe die Frage mit den Änderungen, die ich versucht habe, bearbeitet –

Verwandte Themen