我的第一个rails应用程序一直在跟踪rails入门教程http://guides.rubyonrails.org/getting_started.html。
我希望现在能够更改网站的语言。我也遵循了这本指南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
其索引视图带有select:
h1 = t(:welcome_header)
= link_to t(:goto_blog), controller: 'articles'
= select "Site", "language", options_for_select([[t(:english), 'en'], [t(:spanish), 'es']])
(正如我所说的入门指南一样)。
那么,我正确使用选择吗?如何使用用户在那里选择的内容来提交然后更改区域设置?
答案 0 :(得分: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