2016-08-07 54 views
0

Hier ist die Strecke arbeiten:aktuelle_seite? ist nicht mit Routen mit optionalen params

get "search(/:search)", to: "posts#index", as: :search 

Nun, wenn ich bei /search/somethingsomething und die Ansicht bin, ist:

- if current_page?(search_path) 
    = (do something) 

dann, dass etwas nicht getan wird. Wenn ich jedoch die Klammer um :search (d. H. get "search/:search" ...) entferne, funktioniert es. Was gibt?

Antwort

0

können Sie diese Bedingung

current_page?(controller: 'posts', action: 'index') 

verwenden, wenn Sie search_path in Bedingung verwenden Sie es ohne optionale Parameter

+0

Das hat nicht funktioniert. Ich habe es später gelöst, indem ich die Bedingung durch '- if current_page? ("/Search/# {params [: search]} ") ersetzt habe – Arif

0

Es macht nichts erzeugt. Löste es durch Ersetzen der Bedingung mit:

- if current_page?("/search/#{params[:search]}")