小编Han*_*sCz的帖子

将可用语言与语言名称匹配

我想在站点用户编辑/创建页面中进行语言选择下拉列表.

为此,我当然将网站翻译成多种语言.使用I18n.available_languages,我可以得到一个区域代码数组,就像这样

development environment (Rails 2.3.4)
> I18n.available_locales
   => [:en, :da]
Run Code Online (Sandbox Code Playgroud)

此外,我创建了一个语言模型并将其与用户相关联:

# app/models/language.rb
class Language < ActiveRecord::Base
  has_many :users  
end

# app/models/user.rb
class User < ActiveRecord::Base
  belongs_to :language  
end

# db/schema.rb
create_table "languages", :force => true do |t|
  t.string "name"
  t.string "code"
end

create_table "users", :force => true do |t|
  t.integer  "language_id"
end
Run Code Online (Sandbox Code Playgroud)

然后语言表包含本地语言中的语言环境代码和语言名称,如下所示:

| id  | name                | code |
------------------------------------
| 28  | Dansk               | da   |
| 29  | Nederlands          | nl   |
| 30  | …
Run Code Online (Sandbox Code Playgroud)

named-scope ruby-on-rails internationalization

3
推荐指数
3
解决办法
6944
查看次数