has_one属于关联自动保存=>真实不保存

发布于 2024-10-24 21:56:45 字数 347 浏览 2 评论 0原文

我有两个模型

Board
has_one    :pref, :autosave => true,  :dependent => :destroy

Pref

belongs_to :board

pref 对象具有在数据库中设置的默认值,因此在创建板时不需要使用任何信息来创建对象。板的 ID 位于首选项表中。

由于 :autosave=> true 我认为当我创建并保存一个新的 Board 对象时,将自动创建并保存 pref 对象。

这不是这样工作的,所以我一定是误解了。

有没有办法在保存板时自动保存首选项对象?

先感谢您

I have two models

Board
has_one    :pref, :autosave => true,  :dependent => :destroy

Pref

belongs_to :board

The pref object has defaults that are set in the database so no information needs to be used to create the object when the board is created. The ID for the board is in the pref table.

Since the :autosave=> true I thought that when I create and save a new Board object a pref object would be created and saved automatically.

This is not working this way so I must be misunderstanding.

Is there a way to autosave a pref object when a board is saved?

Thank you in advance

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

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

发布评论

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

评论(1

海夕 2024-10-31 21:56:45

自动保存=> true 不应为您创建元素。 文档说

如果为 true,则始终保存关联的
对象或销毁它(如果标记为)
拯救父母时的破坏
目的。如果为 false,则绝不保存或
销毁关联的对象。

当您正在创建一个新的

大致如下:

after_create :create_pref

def create_pref
  pref.create!
end

autosave => true should not create an element for you. The docs say:

If true, always save the associated
object or destroy it if marked for
destruction, when saving the parent
object. If false, never save or
destroy the associated object.

You could use a callback to create the pref object when you're creating a new board.

Something along the lines of:

after_create :create_pref

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