0

ユーザーがいくつかのオプションのいずれかを選択するこのフォームがあります。彼の回答は別の場所に表示されるため、適切にフォーマットする必要があります。

問題は、Rails でラジオの値を設定するとid、それを属性にも使用することです。これは、スペースやその他の特殊文字を使用すると無効になります。

以下の例を参照してください。

<%= radio_button :a, "Yes, I want bananas." %>
<%= radio_button :a, "No, I rather have strawberries." %>

これを次のように出力したいと思います:

<input type="radio" name="a" id="a_yes_i_want_bananas" value="Yes, I want bananas.">
<input type="radio" name="a" id="a_no_i_rather_have_strawberries" value="No, I rather have strawberries.">

valueでオプションを強制しようとしましたradio_buttonが、機能しませんでした。

何か案は ?

アップデート。

明確にするために、ユーザーは 1 つのオプションのみを選択します。しかし、私の問題は次のとおりです。

呼び出し時に指定する値は、 と の両方form.radio_buttonで使用されます。をパラメータ化したいが、大文字やスペースなどのフォーマットを維持したい。idvalueidvalue

「いいえ、いちごの方がいいです」という文字列が必要です。そのまま提出しますが、idは「a_no_i_rather_have_strawberries」とします。

まだはっきりしていない場合は教えてください。ご覧のとおり、私は英語があまり得意ではありません。=P

それを置く別の方法は次のとおりです。

私はこれをしたい:

<%= radio_button :foo, "my_super_option", :value => "You are awesome! %>

しかし、Rails は私のオプションを無視しvalueます。

4

4 に答える 4

1

代わりに次を使用できます。

<%= radio_button_tag(:a, "bananas") %>
  <%= label_tag(:a_bananas, "Yes, I want bananas.") %>
<%= radio_button_tag(:a, "strawberries") %>
  <%= label_tag(:a_strawberries, "No, I rather have strawberries.") %>
于 2013-05-25T14:16:39.147 に答える
1

私は気が狂ったか何かだと思います。Rails は魔法のようにvalue属性を特殊文字で保持し始め、さらに属性をパラメーター化しましたid

これ:

<%= f.radio :option, 'Hi! Would you like a coffe ?'%>

これになりました:

<input type="radio" name="form_option" id="form_option_hi_would_you_like_coffee" value="Hi! Would you like a coffe ?">

これで、すべてが期待どおりに機能します。ご迷惑をおかけして申し訳ありません。すべてに感謝します。

于 2013-07-26T20:23:17.677 に答える
0

これは、実際には入力の選択のように見えます。これにはおそらくチェックボックスを使用する必要があります。

<%= f.checkbox :flavor, "strawberry" %>
<%= f.checkbox :flavor, "bananas" %>

ラジオボタンは、いくつかのオプションから1つを選択するためのものです。あなたの例は、単一の選択をマークする必要があることを示唆しています。

いつでもラジオ ボタンを使用できますが、「いちご」や「バナナ」などの特定の値を指定して、ラベルに説明テキストを使用します。

于 2013-05-25T14:17:16.587 に答える