1

文字列属性 'name' を持つ単純なオブジェクト Shop を考えてみましょう。

サンプルショップの名前は次のとおりです。

Sam's Diner & Cafe - "deelicious"

私たちの見解が

<% form_for(@shop) do |f| %>
<%= f.text_field :name %>
<% end -%>

Rails 2.3.15 はテキスト フィールド用に生成されます

<input id="shop_name" name="shop[name]" type="text" value="Sam's Diner &amp; Cafe - &quot;deelicious&quot;" />

ブラウザ (Chrome、Firefox) の画面のフォーム テキスト フィールドに次のように表示されます。

Sam's Diner & Cafe - "deelicious"

Rails 2.3.16 が生成します

<input id="shop_name" name="shop[name]" type="text" value="Sam&amp;#x27;s Diner &amp; Cafe - &quot;deelicious&quot;" />

ブラウザ (Chrome、Firefox) の画面のフォーム テキスト フィールドに次のように表示されます。

Sam&amp;#x27;s Diner & Cafe - "deelicious"

これは私にとってテキストフィールドでの望ましくない動作です...

これは、アポストロフィを エスケープするこの変更が原因です

私の質問は次のとおりだと思います:これはレールの問題ですか? そうでない場合、どこに問題がありますか?


編集: この問題は Rails 2.3.17 で解決されました

4

1 に答える 1

2

これは 2.3.16 で何か壊れていたようです。少なくとも私にとってはうまくいった修正については、https://github.com/rails/rails/issues/9108を参照してください。

于 2013-01-30T03:43:49.847 に答える