2016-02-12 73 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