2016-02-12 5 views
0

J'ai suivi les rails pour commencer tutoriel http://guides.rubyonrails.org/getting_started.html pour ma première application de rails.Rails changer les paramètres régionaux avec la table déroulante

Je veux être en mesure de changer la langue du site. J'ai également suivi ce guide http://guides.rubyonrails.org/i18n.html et tout fonctionne.

Maintenant, je veux mettre en place une table déroulante pour laisser l'utilisateur choisir la langue à l'aide d'une simple sélection, comme ceci:

= select "Site", "language", options_for_select([[t(:english), 'en'], [t(:spanish), 'es']]) 

Mais je ne comprends pas comment enregistrer/soumettre ce que l'utilisateur sélectionne.

Par exemple, j'ai une base WelcomeController

class WelcomeController < ApplicationController 
    def index 
    end 
end 

Et son point de vue d'index avec la sélection:

h1 = t(:welcome_header) 
= link_to t(:goto_blog), controller: 'articles' 
= select "Site", "language", options_for_select([[t(:english), 'en'], [t(:spanish), 'es']]) 

(il est tous les suivants comme je l'ai dit le guide de démarrage).

Alors, est-ce que j'utilise la sélection correctement? Comment puis-je soumettre puis modifier les paramètres régionaux avec ce que l'utilisateur sélectionne là?

Répondre

0

Vous pouvez utiliser quelque chose comme ceci:

index.html.haml

= form_tag welcome_path do 
    = select_tag 'set_locale', options_for_select([[t(:english), 'en'], [t(:spanish), 'es']]) 
    = submit_tag 'submit' 

welcome_controller.rb

class WelcomeController < ApplicationController 
    def index 
    if params[:set_locale] 
     redirect_to welcome_url(locale: params[:set_locale]) 
    end 
    end 
end