<% = F.submit%> öğesine bir CSS sınıfı ekleyin


Yanıtlar:


352
<%= f.submit 'name of button here', :class => 'submit_class_name_here' %>

Bunu yapmalı. Bir hata alıyorsanız, adı vermiyor olmanız ihtimali vardır.

Alternatif olarak, düğmeyi sınıfsız olarak stil uygulayabilirsiniz:

form#form_id_here input[type=submit]

Bunu da deneyin.


Mükemmel! Teşekkür ederim Srdjan. Küçük bir merak - disable_withBu gönderme düğmelerini kullanmayı denedim ama asla işe yaramadı. Bilmenin bir nedeni var mı? +1
sscirrus

3
Şu seçenekler için bir karma deneyin: {: class => 'class_name',: devre dışı_with => 'Düzenleniyor ...'}. Bu düğme adından sonra gelir. Çalışmalı ya da en azından böyle belgelenmelidir.
Srdjan Pejic

3
submitYukarıdaki yanıtta olduğu gibi: class hash öğesini kullanmak için ilk argüman olarak bir dizeyi ('burada düğme adı') açıkça geçirmeniz gerektiğini unutmayın . Bu dizeye sahip değilseniz, bir hata mesajı alırsınız.
thewillcole

7
Varsayılan değeri kaldırmadan sınıf ekleyin Burada stackoverflow.com/questions/8811254/…
Naoise Golden

<%= form.submit :class => 'class_name' %>adı kullanmak istemiyorsanız çalışır.

141

Aşağıdakileri yaparak bir formun gönder düğmesine bir sınıf bildirimi ekleyebilirsiniz:

<%= f.submit class: 'btn btn-default' %> <- Not: virgül yoktur!

İskele _ _ form.html.erb kısmi değiştiriyorsanız ve denetleyici eylemleri arasında düğme adının dinamik değişikliğini korumak istiyorsanız, bir ad belirtmeyin 'name'.

Bir ad belirtmeden ve eyleme bağlı olarak formun oluşturulduğu düğme , aşağıdaki adlara sahip .class = "btn btn-default"(Bootstrap sınıfı) (veya .classbelirttiğiniz her şeyi) alır:

  • Model_adı güncelleyin

  • Model_name oluşturun
    (burada model_name iskele modelinin adı)


13
Seçilen cevaptan daha az oy almasına rağmen, çoğu insanın kullanmak isteyeceği çözüm budur.
IAmNaN

3

1
Yararlıdır ve varsayılan Rails tarafından oluşturulan düğme metnini değiştirmeden bir HTML niteliği (örnekteki gibi "id" veya "sınıf") eklemeye izin verir.
TK-421

1
IMO bu en iyi yanıttır çünkü denetleyici eylemine dayalı olarak düğmeye dinamik olarak metin atama ("Oluştur" veya "Güncelle") davranışını korur
sixty4bit

Kesinlikle @ sixty4bit'in dediği gibi. Çeviri dosyalarında düğme metni ayarlanmalıdır, böylece form farklı denetleyici eylemleri arasında yeniden kullanılabilir, yani 'yorum oluştur' ve 'güncelleme yorumu'. Bu cevaba bakın - stackoverflow.com/a/18255633/5355691
Jarvis Johnson

26

Rails 4 ve Bootstrap 3 "birincil" düğmesi

<%= f.submit nil, :class => 'btn btn-primary' %>

Gibi bir şey verir:

Ekran-2014-01-22_02.24.26.png


2
Bu aslında en iyisidir çünkü nilad belirtmek , yardımcının varsayılan davranışını korur; burada, oluşturulmakta / görüntülenmekte olan nesne için bir örnek değişkeni bulursa @person, düğmeyi buna göre adlandırır (Foo Güncelleştir veya Foo Oluştur) ve ayrıca form_forFormBuilder doğru eylemi seçer. Bu şekilde, form kodunu kısmi olarak ayıklayabilir ve model nesnesini görüntülemek için kullanabilirsiniz (görüntülemek için bir form kullanmak isterseniz), güncelleyin ve yeni bir örnek oluşturun.
Paul-Sebastian Manole

13

Srdjan Pejic'in dediği gibi,

<%= f.submit 'name', :class => 'button' %>

veya yeni sözdizimi:

<%= f.submit 'name', class: 'button' %>

9

Form_wper helper ile Kullanırken Çözüm

Rails 5.2 kullananlar için form_with: virgül eklemeyin !

<%= f.submit class: 'btn btn-primary' %>

Virgül kullanmadan ekran görüntüsü

HTH!


2

Varsayılan olarak, Rails 4 görünür düğme metnini kontrol etmek için 'değer' özelliğini kullanır, böylece biçimlendirmeyi temiz tutmak için kullanırım

<%= f.submit :value => "Visible Button Text", :class => 'class_name' %>

0

ikisi de çalışıyor <%= f.submit class: "btn btn-primary" %>ve <%= f.submit "Name of Button", class: "btn btn-primary "%>

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.