本文介绍了Ruby on Rails 3 表单中的 _snowman 参数是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 Ruby on Rails 3(目前使用 Beta 4)中,我看到当使用 form_tagform_for 助手时,有一个名为 _snowman 显示 ☃ (Unicode x9731) 的值.

In Ruby on Rails 3 (currently using Beta 4), I see that when using the form_tag or form_for helpers there is a hidden field named _snowman with the value of ☃ (Unicode x9731) showing up.

所以,这是做什么用的?

So, what is this for?

推荐答案

这是为了支持 Internet Explorer 5 并鼓励它使用 UTF-8 表示其形式.

This is here to support Internet Explorer 5 and encourage it to use UTF-8 for its forms.

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

The commit message seen here details it as follows:

修复几个已知的网络编码问题:

  • 在所有表单上指定接受字符集.所有最近的浏览器,以及IE5+,将使用指定的编码用于表单参数
  • 不幸的是,IE5+ 不会查看接受字符集,除非至少有一个表单值中的字符不是在页面的字符集中.由于用户可以覆盖默认值
    字符集(Rails 设置为 UTF-8),我们提供一个隐藏的输入包含一个 Unicode 字符,强制 IE查看接受字符集.
  • 既然绝大多数网页输入是 UTF-8,我们设置入站参数为 UTF-8.这会消除许多不兼容的情况ASCII-8BIT 和
    之间的编码UTF-8.
  • 您可以放心地忽略参数[:_snowman]

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

In short, you can safely ignore this parameter.

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

Still, I am not sure why we're supporting old technologies like Internet Explorer 5. It seems like a very non-Ruby on Rails decision if you ask me.

这篇关于Ruby on Rails 3 表单中的 _snowman 参数是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-05 10:29