很抱歉,如果这很明显。我现在已经使用Rails了一段时间,但是has_one关联的工作方式仍然让我头晕目眩。它还没有被点击。
我正在创建一个专门的表格,用于创建符合电子邮件发送所需的特定条件的公司列表,其中包含有关是否已通过电子邮件发送的信息,以及是否已回复电子邮件(或不是。)< / p>
email_responder表中的每个条目都链接到一个公司记录。因此,我说每个响应者记录都有一个公司似乎是合乎逻辑的。
但是,如果我将has_one添加到响应者模型然后使用responder.company我会收到一个错误,告诉我我需要在公司记录中有一个responder_id字段。这对我来说毫无意义,公司对响应者一无所知。我希望由于响应者有一家公司,因此响应者记录中的公司_id不是相反的。这似乎是低音。
所以,显然我所做的并不是Railsy,但除了将公司方法入侵到响应者模型之外,我不知道如何处理它。我还没有发现Rails中的另一种关联类型吗?
答案 0 :(得分:1)
email_responder表中的每个条目都链接到一家公司 记录。所以说每个响应者记录似乎合乎逻辑 has_one公司。
这意味着一家公司可以有多个响应者。
因此,您需要在响应者表中添加company_id
列。
这种关联就像
class Company < ActiveRecord::Base
has_many :responders
end
class Responder < ActiveRecord::Base
belongs_to :company
end
因此,每个响应者记录都有一个公司,一个公司有多个响应者。
答案 1 :(得分:0)
听起来你想要一个belongs_to
关联。