0

我正在将旧的 Rails 1 应用程序升级到 Rails 2,但在处理复选框时遇到了问题。旧代码对每个复选框都有一个check_box_tag调用和相应的调用。hidden_field_tag虽然这在以前有效,但在升级后,params 哈希中的所有复选框都会作为默认隐藏值出现,无论它们是否被选中。我一直在阅读该check_box方法,以及在使用相应的隐藏字段方面它是如何从 Rails 1 到 2 再到 3 缓慢变化的。

是否有任何文档说明 Rails 2 中复选框处理的变化,或者有人可以解释为什么 Rails 1 方法不再有效?

编辑:经过更多研究,我发现了这个。看起来在 Rails 2.2 参数提取总是得到给定键的第一次出现(所以隐藏字段应该最后出现),但在 Rails 2.3 参数提取总是得到给定键的最后一次出现(所以隐藏字段应该先出现)。这显然在发行说明和文档中记录得很差。

4

1 回答 1

0

如果我没记错的话,你不需要有一个带有 rails 2 的隐藏字段,你只需使用 check_box_tag 它会为你做所有事情。

于 2011-01-14T23:21:30.750 回答