Reb*_*ele 5 ruby-on-rails nested-forms
在Rails 3中,如果我习惯于build()构建一个对象,有没有办法在对象被保存之前销毁它?
我需要这个的原因是因为我使用嵌套的模型形式,有3代对象:Survey,有很多问题,而问题有很多答案.
在控制器中,我使用构建来预先填充问题和答案.
奇怪的是,如果Survey模型无效,我会使用错误消息重新呈现页面,并且预先构建的问题出现在表单中,但不是答案!
(顺便说一下,如果这很重要,我会使用简单表格.)
无论如何,在我将这些问题与答案一起重建之前,我只是销毁了所有问题,但是如果问题尚未保存到数据库中,你如何销毁这些问题呢?
在我的控制器中:
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
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!谢谢!
我目前没有可用的关系,但为什么不尝试将它们设置为 nil 或空数组呢?像这样:
@survey.questions = []
Run Code Online (Sandbox Code Playgroud)
或者
@survey.questions = nil
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
873 次 |
| 最近记录: |