模型的存储语言

Store languages for a model

这是上下文:我有 Users,我想存储他们说的 languages

我应该怎么做?为 Users 创建一个 Languages table 关联 has_many ?将其存储为语言用户列中的 hstore ?

此外,我正在使用 simple-form,我想用所有语言填充 select(:multiple 因为 User 可以说多种语言) ,知道如何实现吗?我应该用所有语言创建一个常量吗?也许 gem 可以做到这一点?

我进行了研究,但找不到符合此需求的任何内容。

看起来像 UserLanguage 之间的基本 M:M 关系(在 Active Record Associations 指南中有详细描述)。

User 模型怎么样:

class User < ApplicationRecord
  has_many :user_languages
  has_many :languages, through: :user_languages
end

还有一个 Language 模型,例如:

class Language < ApplicationRecord
  has_many :user_languages
  has_many :users, through: :user_languages
end

还有一个 UserLanguage 模型,例如:

class UserLanguage < ApplicationRecord
  belongs_to :user
  belongs_to :language
end

我想你会播种你的 languages table.