У меня есть интересная головоломка. У меня есть таблица программ, у которой есть install_validations, у которых есть много install_validation_reactions (не спрашивайте!). Я установил модель программы для acceptpts_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 устанавливается на удаление, верно? Но это не так. Нет ошибок, ничего. Это просто не удаляет это. Есть идеи? Представления, как я уже сказал, я думаю, вероятно, в порядке, так как данные в параметрах выглядят хорошо (я думаю? Если это не так, дайте мне знать!). Итак, какие данные помогут вам, замечательные люди, дать мне некоторое представление?
Между прочим, я использую ruby 1.9.1p376 и rails 3.0.0.beta3.