2012-07-22 16 views
27

我有一個表格的喜歡/不象按鈕用ajax:Rails和引導 - 添加HTML標籤一個提交按鈕文本

= form_for like, :html => { :method => :delete}, :remote => true do |f| 
= f.submit pluralize(@video.likes.count, 'like'), :class => "btn btn-warning btn-mini", "data-disable-with"=> "Just a moment..." 

的形式完美的作品。

我想在提交按鈕的文本前添加一個圖標。添加圖標引入haml代碼如下(Twitter的引導):

%i.icon-heart.icon-white 

有沒有辦法來這個網站添加到該按鈕?我試圖將它作爲純html添加,但是rails將它作爲文本呈現。

UPDATE

我必須設法封裝中包含的圖標和適當的造型跨度類提交按鈕。我現在需要刪除按鈕上的所有樣式...

%span.btn.btn-danger.btn-mini 
    %i.icon-heart.icon-white 
    = f.submit pluralize(@video.likes.count, 'like') 

回答

92

感謝ismaelga,我發現this SO question

這是解決方案:

<%= button_tag(type: 'submit', class: "btn btn-primary") do %> 
<i class="icon-ok icon-white"></i> Save 
<% end %> 
+0

是的,因爲上面的一個不工作 – Ben 2013-02-04 11:25:52

+1

非常酷..工作就像一個魅力! – 2013-05-18 00:19:13

+7

即使這個解決方案有效,我不喜歡它,因爲我不能再看到f變量:)感覺就像從任何地方提交表格... – 2014-11-11 23:55:14

3

試試這個。我沒有測試,但我認爲可以做這樣的事情。

= f.submit :class => "btn btn-warning btn-mini", "data-disable-with"=> "Just a moment..." do 
    %i.icon-heart.icon-white 
    = pluralize(@video.likes.count, 'like') 
end 

所以這是可能的,如果你在哪裏使用simple_form。對不起。

所以闖闖將

= f.submit "#{pluralize(@video.likes.count, 'like')} <i class='icon-heart icon-white'/>".html_safe, :class => "btn btn-warning btn-mini", "data-disable-with"=> "Just a moment..." 
+0

我試過安裝SimpleForm並使用你的第一個答案,但它不起作用。你的第二個都沒有.. – 2012-07-24 22:31:10

+0

啊!感謝您的回答,我發現了新的關鍵字來搜索Google! [這個問題](http://stackoverflow.com/questions/10858582/html-code-inside-buttons-with-simple-form)真的很有幫助! – 2012-07-24 22:34:58

+0

我也回答了這個問題:)希望你能找到解決方案 – 2012-07-24 23:19:08

2

賈斯汀D'的回答幫我還。如果你從谷歌來到這裏,你正在尋找一個苗條的實現,你可以做這樣的:

= button_tag(type: 'submit', class: 'btn btn-default') do 
    span.glyphicon.glyphicon-floppy-disk> 
    | Save 
end 

修身用戶將認識到>的必要性。

這個工作對我使用Rails 4.1.5,2.1.2紅寶石和引導,青菜3.2爲9月24日,2014年

+0

這節省了我幾個小時的挫折感。 +1! – 2016-02-25 03:03:10

2

另一種選擇可能是button到位的submit

看到的Rails文檔FormBuilder#button

= f.button :class => "btn btn-warning btn-mini" do 
    %i.icon-heart.icon-white 
    = pluralize(@video.likes.count, 'like') 
-2

請嘗試下面的代碼。它的作品

<%= f.submit :class => "btn btn-success btn-mini" %> 
+0

這將是很好的補充一些解釋。 – 2016-06-17 14:12:15

+0

您的答案不包括提交標記中的html,因此它不包含圖標。 – 2017-11-03 17:00:10