Ich habe diese beautiful site verfolgt, um Internationalisierung in meiner Website zu erstellen.Rails 3.1 Erneutes Laden einer Seite mit einem anderen Gebietsschema?
Ich kann jedoch nicht herausfinden, wie Sie eine Seite mit einem anderen Gebietsschema neu laden, wenn ein Benutzer auf eine Sprachschaltfläche klickt.
Beispiel: Wenn der Benutzer hier:
/es/events/14
, wenn der Benutzer trifft englische Sprache Neuladen
/en/events/14
Dies ist die Ansicht:
%li= link_to "eu", change_locale_path(:locale => "eu")
%li= link_to "es", change_locale_path(:locale => "es")
%li= link_to "en", change_locale_path(:locale => "en")
%li= link_to "fr", change_locale_path(:locale => "fr")
Mit dieser Methode in ApplicationController
def change_locale
if current_user
current_user.locale = params[:locale]
current_user.save
else
I18n.locale = params[:locale]
end
redirect_to root_url (this is temporal)
end
Was sollte ich anstelle von redirect_to root_url haben, um die Seite neu zu laden?
Sie zur vorherigen Seite zurückkehren, sehen http://stackoverflow.com/questions/4652084/ruby-on-rails-how-do-you-get-the-previous-url/ 8801313 # 8801313 – gayavat
Ich habe das vorher versucht, aber soweit ich mich erinnerte, lädt die Seite mit dem alten Gebietsschema, weil das Gebietsschema in der URL ist –
versuchen URL zu parsen und ändern [: locale], siehe http: // stackoverflow. com/questions/916067/how-do-i-leicht-parse-a-url-mit-parameter-in-a-rails-test – gayavat