Rails 3.2.3已发布!!!。
此版本更改了config.active_record.whitelist_attributes的默认值,值为真。此更改仅影响新生成的应用程序,因此不会对升级用户的任何向后兼容性问题造成任何影响,但可能会影响某些教程和入门材料。有关更多信息,请参阅Ruby on Rails 安全指南中的批量分配部分。
Rails 3.2.3还引入了一个新选项,允许您控制远程表单的行为,以进行authenticity_token
生成。如果您想对表单进行片段缓存,真实性标记也将被缓存,这是不可接受的。但是,如果您仅将此类表单与ajax一起使用,则可以禁用标记生成,因为它将从meta
标记中获取。从3.2.3开始,您可以选择停止在远程表单中生成authenticity_token
(即。将:remote => true
作为选项传递),通过设置config.action_view.embed_authenticity_token_in_remote_forms = false
。请注意,这将中断在禁用javascript的情况下发送这些表单。如果您选择默认情况下不在远程表单中生成标记,则仍可以在生成表单时显式传递:authenticity_token => true
以绕过此设置。该选项默认为true
,这意味着现有应用程序不受影响。
我们还调整了对rack-cache和mail的依赖性,以解决这些库中最近的安全性漏洞。如果您正在运行的mail或rack-cache的版本存在安全隐患,则应将这两个gem更新到安全版本。此版本中还修复了渲染方法中的一些回归。
动作邮件
动作包
修复#5632,render :inline 设置了正确的渲染格式。Santiago Pastorino
修复在使用HAML等插件时渲染文本区域。此类插件对内容中的第一个换行符进行编码。此问题引入于 https://github.com/rails/rails/pull/5191 James Coleman
不要在远程表单中包含真实性标记,因为ajax表单使用元标记值 DHH
关闭rack-cache的冗余模式,我们仍可以通过X-Rack-Cache来检查此信息。关闭#5245。Santiago Pastorino
修复#5238,在未呈现模板时未设置呈现格式。Piotr Sarnacki
将rack-cache升级至1.2。José Valim
ActionController::SessionManagement已弃用。Santiago Pastorino
由于路由器是指向引擎、控制器和应用程序本身等许多系统部分的引用,所以检查路由集会非常慢,因此我们默认将别名检查为 to_s。José Valim
在 textarea 开头标记后添加新行。关闭 #393 rafaelfranca
始终从响应者传递相应块。我们应该允许响应者决定对给定的覆盖响应块做什么,而不是短路它。sikachu
修复 3.2.2 的布局渲染回归。José Valim
活动模型
活动记录
添加 find_or_create_by_{attribute}! 动态方法。Andrew White
默认情况下将所有属性的分配白名单化。将新生成应用程序的默认值更改为将所有属性的分配白名单化。并且更新生成的模型类,以便提醒用户 attr_accessible 的重要性。NZKoz
更新 ActiveRecord::AttributeMethods#attribute_present?,使其针对空字符串返回 false。Jacobkg
修复使用每类数据库时的关联。larskanis
恢复 add_timestamps 中的 NOT NULL 约束设置 fxn
修复 mysql 以使用正确的文本类型。修复 #3931。kennyj
修复 #5069 - 通过关联构建器防止外键进行批量分配。byroot
活动资源
活动支持
Rails 应用程序
您可以在 此处 找到 3.2.2 和 3.2.3 之间的详尽更改列表。
感谢大家使这一切成为可能并享受它 :)。