【发布时间】:2010-09-10 01:27:34
【问题描述】:
我有一个有趣的难题。我有一个程序表,其中包含许多 install_validation_reactions(不要问!)。我将程序模型设置为accepts_nested_attributes_for :install_validations, :allow_destroy => true,install_validations 和install_validation_reactions 之间也是如此。构建了一个包含所有三层的表单,这就是我所看到的行为:如果我创建一个新的安装验证,我可以根据需要添加或删除尽可能多的安装验证反应,并且它们会正确保存。如果我更改现有安装验证的任何属性,它将正确保存。但。如果我编辑现有的嵌套安装验证反应之一,更改不会保存,我也无法删除它们。提交的数据看起来不错,所以我不认为这是视图。这是一个例子:
Parameters: {"authenticity_token"=>"1I4eJypbS7FxQkLkkvUqqWGEdLhbR2K/f/qIsvb2sm8=", "package"=>{"name"=>"Adobe Acrobat 7", "platform"=>"PC", "licensed"=>"1", "deployment_stage"=>"1", "source_path"=>"adobe/Acrobat 7/", "executable"=>"install.bat", "install_validations_attributes"=>{"0"=>{"success_value"=>"true", "rule_type"=>"ExecRunning", "rule_parameter"=>"Pork Chops", "install_validation_reactions_attributes"=>{"0"=>{"command"=>"wait", "parameter"=>"30", "id"=>"6", "_destroy"=>"1"}}, "_destroy"=>"false", "id"=>"56"}, "1"=>{"success_value"=>"true", "rule_type"=>"ExecRunning", "rule_parameter"=>"pooka", "install_validation_reactions_attributes"=>{"0"=>{"command"=>"repeat", "parameter"=>"3", "id"=>"7", "_destroy"=>"false"}}, "_destroy"=>"false", "id"=>"57"}}}, "commit"=>"Update", "id"=>"7"}
所以,看起来不错,对吧?和安装验证 0 的安装验证反应 0 一样设置为删除,对吗?但事实并非如此。没有错误,没什么。 IT 只是不删除它。有任何想法吗?就像我说的那样,我认为这些观点可能很好,因为参数中的数据看起来很好(我认为?如果错了,请告诉我!)。那么,哪些数据可以帮助你这些优秀的人给我一些见解呢?
顺便说一句,我正在运行 ruby 1.9.1p376 和 rails 3.0.0.beta3。
【问题讨论】:
标签: ruby-on-rails ruby forms ruby-on-rails-3