如何在rails中将连接表控制器关联复数化

时间:2017-11-07 02:13:26

标签: ruby-on-rails rails-activerecord

我有一个clients表和一个workers表,它们与clients_workers表连接在一起。连接表有一些额外的列,所以我有一个连接表的控制器

在我ClientsController我有以下

has_many :client_workers
has_many :workers, through: clients_workers

这是复数has_many关联的正确方法吗?

2 个答案:

答案 0 :(得分:2)

您的Client模型的行不应为ClientsController

has_many :client_workers
has_many :workers, through: clients_workers

您还应该拥有ClientWorkerWorker

的模型类

答案 1 :(得分:1)

您可以在Rails 3.1或更高版本中执行嵌套has_many

<强> client.rb

class Client
  has_many :clients_workers
  has_many :workers, through: :clients_workers
end

<强> clients_worker.rb

class ClientsWorker
  belongs_to :client
  belongs_to :worker
end