web-dev-qa-db-ja.com

selectで空白値に名前を付ける方法は?

私のアプリではsimple_formを使用しています。

Selectに ""とは異なるテキストで空白の値を指定するにはどうすればよいですか?

空白を含めるかどうかを選択するだけです。

29
Ben

ベン、

これは、selectのオプションをどのように構築しているかによって異なります。以下のコードのように実行している場合は、文字列を:includeブランクに渡します。

select("post", "person_id", Person.all.collect {|p| [ p.name, p.id ] }, {:include_blank => 'Some text here'})

Options_for_select()でオプションを設定している場合は、次のようなことができます:

options_for_select([["Dollar", "$"], ["Kroner", "DKK"]])

Value = ""は配列の2番目の値で、ドロップダウンに最初に表示される名前です。したがって、あなたの場合、2番目の答えを次のように変更できます。

options_for_select([["Some text here", ""], ["Dollar", "$"], ["Kroner", "DKK"]])
53
Josh Moore

の代わりに

:include_blank => true

試す

:include_blank => "your text here"

これがあなたが探しているものなら.

33

select_tag(name, option_tags = nil, options = {})関数を使用している場合、正しいオプションは:Prompt => "Some text"に文字列値を設定するのではなく、select

22
Georgi

これを手動で行うには、["Your Text", ""]に渡される配列の先頭にoptions_for_selectを追加するか、"<option value=\"\">#{h("Your Text"}</option>"に渡される文字列の先頭にselect_tagを追加します。

1
tsherif