2015-12-27 50 views
0

在一個形式,我有以下提交按鈕:如何顯示按鈕內的字形?

<%= f.submit "Send message".html_safe, class: "buttony" %> 

我使用font-awesome在我的應用程序沒有問題,但是,如果我嘗試添加下面的代碼按鈕內部的字形,該<i class='fa fa-envelope'></i>代碼顯示爲文本並且不顯示字形。

我在做什麼錯?它可能與一行中的兩個班有關嗎?

<%= f.submit "<i class='fa fa-envelope'></i> Send message".html_safe, class: "buttony" %> 

更新:從代碼中刪除html.safe沒什麼區別。在瀏覽器頁面的源代碼是:

<input type="submit" name="commit" value="<i class='fa fa-envelope'></i> Send message" class="buttony" /> 

回答

1

只是一個普通的HTML按鈕做到這一點:

<button class="buttony" type="submit"> 
    <i class="fa fa-envelope"></i> 
    Send message 
</button> 
+0

是的,這似乎是個伎倆。我想知道如果這不是問題。因爲爲什麼我們通常會使用Ruby'f.submit'?它如何知道它需要提交的是「f」? – Marty

+0

@Marty如果一個按鈕或一個提交輸入是在一個表單內,當它們被點擊時,表單將被提交。這只是普通的HTML,Ruby的唯一功能就是生成HTML。也就是說,最後一次檢查時,'f.button'或'f.submit'需要如此多的hack以便常規HTML對於自定義按鈕來說更簡單。 OTOH非按鈕'f.input'具有許多其他功能,如生成標籤和錯誤指示器,設置適當的類,將它們全部包裝等,這些與按鈕無關。附註:'

+0

更可以用CSS定製感謝解釋! – Marty

0

在以下Halil Özgür Answer你可以重新寫爲

<%= button_tag(type: 'submit', class: "buttony", value: 'Send message') do %> 
     <i class="fa fa-envelope"></i> 
<% end %> 
+0

對不起,但這沒有什麼區別。這只是一個不同的字形。 – Marty

+0

Okey您可以檢查元素並添加您的問題。 – VKatz

+0

您是指加載頁面後元素的源代碼?這是:發送消息」class =「buttony」/>'。 – Marty