在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的決定。
- 3 回答
- 0 關注
- 666 瀏覽
添加回答
舉報
0/150
提交
取消