6

私のフォームでは、次のように span タグを使用しました。

<%= content_tag :span, f.object.User, class: 'username' %>

値を選択すると、HTML で次のようになります。

<span class="user" style="">Antony</span>

問題は、フォームを作成するときに id がデータベースに値を取得しないことです。正確な問題はわかりません。text_field の代わりにこのコンテンツ タグを使用して値を取得したいと考えています。

ありがとう。

4

2 に答える 2

4

HTML フォームを送信すると、POST される値は、テキスト フィールド、選択、チェックボックス、ボタンなどの入力フィールドにある値だけです。単にページ上にあるコンテンツ (スパンにあるかどうかに関係なく) は、サーバーにポストバックされません。これは Rails の問題ではなく、HTML の仕組みの問題です。

ここで何をしようとしているのか正確にはわかりませんが、(入力ボックスではなく) 値を表示し、値をフォームに送り返したい場合の一般的なアプローチは、両方で値をレンダリングすることですページ (スパン内または必要に応じて) を追加しhidden_field_tag、値も含まれる非表示の入力フィールド ( ) も追加します。

于 2012-10-20T18:56:09.203 に答える
1

ええ、ジェイコブは正しいです。非表示フィールドを作成する方が良い

<%= f.hidden_field :user, class: 'user' %>
<%= content_tag :span, f.object.User, class: 'username' %>

最初の行は値を取得します。ジェイコブの答えがお役に立てば幸いです。:)

于 2012-10-20T19:02:47.603 に答える