2012-07-27 14 views
20

Aşağıda, düzgün çalışan bir seçim formum var.'select one ...' seçeneğine nasıl ekleyebilirsiniz? Options_from_collection_for_select

Kullanıcı sayfayı yüklediğinde, null veya ‘’ değerine sahip bir ilk ‘seçin ...’ seçeneğini gösterir.

Bunu Nesne'ye eklemeyi denedim, ancak mümkün değildi ve yardım almaktan memnuniyet duyarım!

Çok teşekkürler! Bence


:

= select_tag 'incident[fault_id]' , options_from_collection_for_select(Fault.all, :id, :label) 

kullandığım Raylar 3.2 ve HAML


Güncelleme: Ben bir şey gerçekten tatlı buldum Şans eseri

:

include_blank: 'select one...' 

veya tamamen

= f.collection_select :fault_id, Fault.order(:label), :id, :label, include_blank: 'select one...' 

durumda bir sever ... bunu da

Referans: http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html

+0

"inline" cevabınızı, soruya gerçek bir cevap olarak taşıyabilirsiniz, böylece insanlar buna oy verebilir. Ne yazık ki: include_blank veya: komut sadece raylarla kullanılabilir 3.x + – rogerdpack

cevap

38

options_from_collection_for_select yineleme tarafından derlenen edilmiştir seçenek etiketlerinin bir dize döndürür bir aramanın sonucunu toplama değeri ve değer olarak value_method ve seçenek metni olarak text_method olarak atama.

Dolayısıyla, sadece değeri olmayan "select_one" seçeneği dize ile başa ekleyerek:

= select_tag 'incident[fault_id]', content_tag(:option,'select one...',:value=>"")+options_from_collection_for_select(Fault.all, :id, :label) 
+0

Çok teşekkürler! Biliyorsan çok kolay ... –

+1

Sonunda 3.x kullanımı ile raylar 2.x ile çalışan bir seçenek: include_blank veya ne inanıyorum ... – rogerdpack

+1

Bu işe yararken daha doğru olur ' Aşağıdakine benzer yorum isteyin. –

19

:promptselect_tagdeğiloptions_from_collect_for_select ait bir özelliktir bu yüzden

select_tag("sales_rep[manufacturer_id]", options_from_collection_for_select(@manufacturers, "id", "name"), { :prompt => 'Select Manufacturer' }) 
0

Aşağıdaki deneyebilirsiniz:

collection_select(:sales_rep, :manufacturer_id, @manufacturers, :id, :name, { :prompt => 'Select Manufacturer' }) 
İlgili konular