添加允许一个主要和多个辅助电子邮件地址的电子邮件模型

时间:2014-06-03 15:24:36

标签: ruby-on-rails email model

在Rails中,我想创建一个模型电子邮件,允许来自不同人的多态关联,比如说用户'和'管理员'这样他们才能拥有一个' primary_email和' has_many' secondary_emails。

有没有办法在一个名为Email的模型下执行此操作?

我在考虑创建一个电子邮件模型,其中包含primary_email:text和另一列secondary_email:array(电子邮件)列。

我觉得有更好的方法可以做到这一点。

修改

现在我正在考虑创建一个只有一个电子邮件列的简单电子邮件模型(以及emailable_id和emailable_type列)。那么用户将会" has_many"电子邮件。现在我对这些关系的运作方式感到有些困惑。现在,用户已经有了一个电子邮件列。任何人都可以想到一种方法来考虑这个用户模型中的主要电子邮件。然后,如果用户已有主电子邮件,请创建辅助电子邮件。

要清楚 我希望所有电子邮件都是电子邮件模型的一部分,以及用户模型中主要和次要电子邮件之间的区别。

有人能想出办法做某事吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果我这样做,我会使用serialize方法获取数组属性。 (请参阅this postthis tut。)

请记住,has_many是两个模型之间的关联,因此只有一个模型才能使用 。但是,创建第二个模型以仅存储一封电子邮件并使用has_many

也没有任何问题
相关问题