2016-02-12 71 views
0

我一直在关注Rails入门教程http://guides.rubyonrails.org/getting_started.html,这是我的第一个Rails应用程序。Rails通过下拉列表更改区域设置

我想现在能够改变网站的语言。我也按照这个指南http://guides.rubyonrails.org/i18n.html,并一切工作。现在

,我想成立一​​个下拉表,让使用简单的选择这样的用户选择的语言:

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

但我不理解如何保存/提交用户什么选择。

例如,我有一个基本的WelcomeController

class WelcomeController < ApplicationController 
    def index 
    end 
end 

而且随着选择它的索引视图:

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

(这是所有以下正如我所说的入门指南)。

那么,我是否正确使用了选择?如何提交,然后更改用户在该处选择的区域设置?

回答

0

你可以使用这样的事情:

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