Ruby on rails Rails 1和Rails 2中的复选框

Ruby on rails Rails 1和Rails 2中的复选框,ruby-on-rails,checkbox,hidden-field,Ruby On Rails,Checkbox,Hidden Field,我正在将一个旧的Rails 1应用程序升级到Rails 2,并且在处理复选框方面遇到了问题。旧代码有一个复选框标记调用和每个复选框对应的隐藏字段标记调用。虽然这在升级之前有效,但在升级之后,params散列中的所有复选框都会显示为其默认隐藏值,而不管它们是否被选中。我一直在阅读有关复选框方法的内容,以及它是如何在处理相应的隐藏字段时从Rails 1慢慢变为Rails 2到Rails 3的 有没有关于Rails2中复选框处理是如何改变的文档,或者有人能解释为什么Rails1方法不再有效 编辑:经过

我正在将一个旧的Rails 1应用程序升级到Rails 2,并且在处理复选框方面遇到了问题。旧代码有一个复选框标记调用和每个复选框对应的隐藏字段标记调用。虽然这在升级之前有效,但在升级之后,params散列中的所有复选框都会显示为其默认隐藏值,而不管它们是否被选中。我一直在阅读有关复选框方法的内容,以及它是如何在处理相应的隐藏字段时从Rails 1慢慢变为Rails 2到Rails 3的

有没有关于Rails2中复选框处理是如何改变的文档,或者有人能解释为什么Rails1方法不再有效


编辑:经过更多的研究,我发现。在Rails 2.2中,参数提取总是得到给定键的第一个匹配项,因此隐藏字段应该排在最后,但在Rails 2.3中,参数提取总是得到给定键的最后一个匹配项,因此隐藏字段应该排在第一位。这显然在发行说明和文档中没有很好的记录。

如果我没记错的话,你不需要rails 2有一个隐藏字段,你只需要使用check_-box_标记,它就可以为你做所有事情。

看起来check_-box可以为你做所有事情,但是check_-box_标记不能。关于我发现的问题,请参见上面的编辑。