gpt4 book ai didi

ruby-on-rails - Ruby on Rails : What is the opposite of the build method? 或者,我可以在保存对象之前从内存中销毁它吗?

转载 作者:行者123 更新时间:2023-12-04 03:44:18 26 4
gpt4 key购买 nike

在 Rails 3 中,如果我使用过 build()要构建一个对象,有没有办法在对象被保存之前销毁它?

我需要这个的原因是因为我使用的是嵌套模型表单,具有 3 代对象:Survey,其中有很多问题,而问题有很多答案。

在 Controller 中,我使用 build 来预填充问题和答案。

奇怪的是,如果调查模型无效,我会重新渲染带有错误消息的页面,并且表单中会出现预先构建的问题,而不是答案!

(顺便说一下,如果这很重要,我正在使用简单表单。)

无论如何,在我将它们与答案一起重建之前,我只会销毁所有问题,但是如果它们还没有保存到数据库中,你怎么能销毁这些问题呢?

在我的 Controller 中:

4.times do
question = @survey.questions.build
@answers.each { |answer| question.answers.build(:label => option.label, :input_type => option.input_type, :available_options => option.available_options) }
end

任何帮助将不胜感激!谢谢!

最佳答案

我目前没有可用的关系,但为什么不尝试将它们设置为 nil 或空数组?像这样:

@survey.questions = []

或者
@survey.questions = nil

关于ruby-on-rails - Ruby on Rails : What is the opposite of the build method? 或者,我可以在保存对象之前从内存中销毁它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7366455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com