1. ホーム
  2. ruby-on-rails

[解決済み] Ruby on Rails 3 のフォームにある _snowman パラメータは何のためにあるのですか?

2022-04-28 02:14:24

質問

Ruby on Rails 3 (現在Beta 4を使用中) では、Ruby on Rails 3で form_tag または form_for という名前の隠しフィールドがあります。 _snowman の値で、☃( ユニコード \x9731) が表示される。

で、これは何に使うの?

解決方法は?

これは、Internet Explorer 5をサポートし、その使用を奨励するためにここにあります。 UTF-8 を使用します。

見られるコミットメントメッセージ こちら の詳細は以下の通りです。

いくつかの既知のウェブエンコーディングの問題を修正しました。

  • すべてのフォームでaccept-charsetを指定する。最近のブラウザはすべて、また IE5+では、指定されたエンコーディングが使用されます。 フォームパラメータ
  • 残念ながら、IE5+は、少なくとも1つ以上の フォームの値に含まれる文字が を、ページの文字セットで指定します。このため を上書きすることができます。

    の文字セット(RailsではUTF-8に設定されます。) を含む隠し入力を提供します。 unicode文字で、IEに強制的に はaccept-charsetを見ます。
  • ウェブ入力の大部分は UTF-8 であるため、受信側の パラメータをUTF-8に設定します。これによって を使用することで、多くの場合、互換性のない との間のエンコーディングは、ASCII-8BITです。

    UTF-8です。
  • params[:_snowman]を無視しても大丈夫です。

要するに、このパラメータは無視しても大丈夫ということです。

それにしても、なぜInternet Explorer 5のような古い技術に対応するのか、よくわかりません。私に言わせれば、非常に非Ruby on Rails的な判断のように思えます。