Sınıflı alan seçmek için Ruby on Rails form_


200

Bu konuda kafamı duvara çarpıyorum. Etiketi kullanarak basit bir seçim etiketi yapmak istiyorum f.selectama yaptığım hiçbir şey çalışmıyor. Aşağıda bir örnek verdim:

<%= f.select(:object_field, ['Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 4'], :class => 'my_style_class')%>

Tamam, temel olarak form gönderildikten sonra değeri içine yerleştiren basit bir listedir object_field. Hepsi işe yarıyor, ancak sayfa kaynağını görüntüleyen sınıf etiketi dahil edilmiyor. Bir hata atmaz, sadece hepsini atlar.

Herkes herhangi bir öneriniz varsa ben çok takdir ediyorum.

Yanıtlar:


450

Bu şekilde deneyin:

<%= f.select(:object_field, ['Item 1', ...], {}, { :class => 'my_style_class' }) %>

selecthelper biri seçim için diğeri html seçenekleri için olmak üzere iki seçenek karması alır. Tek ihtiyacınız olan şey, öğe listesinden sonra ilk parametre olarak varsayılan boş seçenekler vermek ve ardından sınıfınızı eklemektir html_options.

http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select


2
Parayla, çok teşekkür ederim, bu hile yaptı! Basit bir şey olması gerektiğini biliyordum ve tabii ki öyleydi.
Patrick

Haml'de bu şekilde denedim ama neden "Firebug öğesinde element ile inceleme" sınıfında burada kodum görünmediğini bilmiyorum = f.select (: cinsiyet, [['Erkek', gerçek], ['Kadın ', false]], {}, {: class => "drop",: style => "opaklık: 0;"})
Gagan Gami

@GaganGami Bu kodla çalışmayı başardım: = f.select(:stars, [['Male', true], ['Female', false]], {}, {:class=>"form-control",:style=>"opacity: 0;"}) 0 olarak ayarlanmış opaklık alanınızı görünmez kılacaktır .
Robert

F.select sonunda bir blok geçirilirse ne yapmamız gerektiğini bilen var mı? Sınıf, denediğim herhangi bir kombinasyonla geçmiyor gibi görünüyor.
16'da Tashows

Açıklama için teşekkür ederim
Abhilash

21

Bunun gibi bir bilgi istemi seçeneği de ekleyebilirsiniz.

<%= f.select(:object_field, ['Item 1', 'Item 2'], {include_blank: "Select something"}, { :class => 'my_style_class' }) %>

12

Bu iş benim için

<%= f.select :status, [["Single", "single"], ["Married", "married"], ["Engaged", "engaged"], ["In a Relationship", "relationship"]], {}, {class: "form-control"} %>

2

Burada görebilirsiniz: http://apidock.com/rails/ActionView/Helpers/FormBuilder/select

Veya burada: http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/select

Select etiketi maximun 4 agrument'e sahiptir ve son agrument html seçeneğidir, bu da buraya sınıf, gereksinim, seçim seçeneğini koyabileceğiniz anlamına gelir.

= f.select :sms_category_id, @sms_category_collect, {}, {class: 'form-control', required: true, selected: @set}

selected: @setilk koyduğumda benim için çalışıyor {}.
user1515295
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.