【问题标题】:Rails change locale with dropdown tableRails 使用下拉表更改语言环境
【发布时间】:2016-05-23 16:41:10
【问题描述】:

我一直在关注 Rails 入门教程 http://guides.rubyonrails.org/getting_started.html,用于我的第一个 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']])

(正如我所说的入门指南)。

那么,我是否正确使用了选择?如何提交然后使用用户在那里选择的内容更改语言环境?

【问题讨论】:

    标签: html ruby-on-rails select rails-i18n setlocale


    【解决方案1】:

    你可以这样使用:

    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
    

    【讨论】:

      猜你喜欢
      • 2014-09-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多