在轨道界面语言选择形成的?(interface language selector in rails

2019-09-17 17:38发布

什么是走在具有区域选择下拉表单中的方法吗?

我有一栏“LNG”在那里我存储“EN”,“FR”等国际化的语言环境字符串用户模型。

我的目标是有一个下拉与上市“英语”的所有语言,“法国”和形式更新其存储正确的“EN”,“FR”在用户表中的值。

这将是一个路要走呢?

Answer 1:

你可以简单地使用选择标签http://guides.rubyonrails.org/form_helpers.html#the-select-and-option-tags :

= form_for @user do |f|
  = f.select :lng, options_for_select([['English', 'en'], ['French', 'fr']], @user.lng)

我也建议到某处阵列移动到常数。 举例来说,在自己的模式用户的方法。 例如:

#models/user.rb
def self.lng_list
  [['English', 'en'], ['French', 'fr']]
end

#form
= form_for @user do |f|
  = f.select :lng, options_for_select(User.lng_list, @user.lng)

编辑

在简单的形式,你可以使用轨道形成的助手这样https://github.com/plataformatec/simple_form#wrapping-rails-form-helpers :

 = f.input :lng do
   = f.select :lng, options_for_select(User.lng_list, @user.lng)

或者你可以使用collection选项https://github.com/plataformatec/simple_form#collections :

= f.input :lng, :collection => User.lng_list


文章来源: interface language selector in rails form?