Ruby on Rails:将两个一一对应的模型联系在一起的最佳方式

发布于 2024-08-24 16:54:34 字数 192 浏览 11 评论 0原文

如果我有两个保证一一对应的模型,即如果创建了一个模型,我将始终需要另一个模型,如果删除一个模型,我也想删除另一个模型,这是什么?将它们联系在一起的最佳方法是什么?

我看到 has_one/belongs_to :dependent 方法负责删除,但我没有看到任何类似的方法来负责创建。

关于子模型的创建,似乎有很多选择,最好的方法是什么?

If I have two models that are guaranteed to have a one-to-one correspondence, i.e. if one is created, I will always also need the other, and if one is deleted, I will also want to get rid of the other, what's the best way to tie them together?

I see that the has_one/belongs_to :dependent method takes care of the deletions, but I don't see any similar method to take care of creation.

There seem to be a lot of options on where I could stick in the creation of the submodel, what's the best approach for this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

倾城°AllureLove 2024-08-31 16:54:34

您可以使用 before_create 回调手动创建相关对象:

class Person < ActiveRecord::Base
  before_create :create_address
  validates_presence_of :address

  private
  def create_address
    address = Address.new
  end
end

You can create the related object manually using before_create callback:

class Person < ActiveRecord::Base
  before_create :create_address
  validates_presence_of :address

  private
  def create_address
    address = Address.new
  end
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文