映射出包含工作人员和语言的Rails数据库

时间:2016-02-19 22:51:35

标签: sql ruby-on-rails ruby postgresql

我正在创建一些我希望能够查询可以说一种语言的工作人员的东西。

工人has_many:languages

然而,我需要知道他们所说的流利程度,并用优秀,公平,差的语言写作。

例如,能够做到#34; Language.German.workers"的好方法是什么?但是当我查询工人时,我也可以看到他们如何写作和说话的流利程度。我把它放在一起很麻烦。

1 个答案:

答案 0 :(得分:2)

您需要一个联接表。您可以在联接表中添加列fluency

class Worker < ActiveRecord::Base
  has_many :languages, through: :worker_languages
  ...
end

class Language < ActiveRecord::Base
  has_many :workers, through: :worker_languages
  ...
end
class WorkerLanguage < ActiveRecord::Base
  belongs_to :worker
  belongs_to :language
  ....
 end