为了账号安全,请及时绑定邮箱和手机立即绑定

Ruby on Rails 3表单中的_snowman参数是什么?

Ruby on Rails 3表单中的_snowman参数是什么?

沧海一幻觉 2019-11-22 16:06:51
在Ruby on Rails 3(当前使用Beta 4)中,我看到使用form_tag或form_for帮助器时,会显示一个隐藏的字段,其名称_snowman为☃(Unicode \ x9731)。那么,这是为了什么呢?
查看完整描述

3 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

这是为了支持Internet Explorer 5并鼓励它在表单中使用UTF-8。


此处看到的提交消息将其详细说明如下:


解决几个已知的Web编码问题:


在所有表单上指定accept-charset。所有最新的浏览器以及IE5 +都将使用为表单参数指定的编码

不幸的是,IE5 +不会查看accept-charset,除非表单的值中至少有一个字符不在页面的charset中。由于用户可以覆盖默认

字符集(Rails将其设置为UTF-8),因此我们提供了一个包含unicode字符的隐藏输入,迫使IE查看accept-charset。

现在绝大多数Web输入是UTF-8,我们将入站参数设置为UTF-8。这将消除ASCII-8BIT和

UTF-8 之间编码不兼容的许多情况。

您可以放心地忽略参数[:_snowman]

简而言之,您可以放心地忽略此参数。


不过,我不确定为什么我们要支持Internet Explorer 5之类的旧技术。如果您问我,这似乎是一个非常非Ruby on Rails的决定。


查看完整回答
反对 回复 2019-11-22
  • 3 回答
  • 0 关注
  • 572 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信