【发布时间】:2016-02-26 16:44:59
【问题描述】:
我有两个班级:
class Post
has_and_belongs_to_many :receivers
accepts_nested_attributes_for :receivers
end
class Receiver
has_and_belongs_to_many :posts
表架构如下:
posts: id, xxx
receivers: id, email, name, xxxx
posts_receivers: post_id, receiver_id
我非常遵循这里的指南:http://guides.rubyonrails.org/association_basics.html#the-has-and-belongs-to-many-association
所以在我的post 表单中,每个都可以包含多个接收者,它们只是几个电子邮件文本字段。新的接收者记录会从这些电子邮件中自动创建。可能会发生不同的post 表单有一些现有的电子邮件,然后我不想在receivers 表中为现有电子邮件创建新记录。相反,我想使用现有电子邮件查找接收者 ID,并将带有帖子 ID 的 ID 保存到 posts_receivers 表中。
现在它每次都会为新帖子创建新的接收者记录,无论电子邮件是现有的还是新的。
关于如何实现这一点的任何建议?非常感谢!
【问题讨论】:
标签: ruby-on-rails ruby nested-attributes