2013-05-07 19 views
0

我想複製這個,在提交標籤:如何將`<i>`添加到submit_tag的文本中?

<%= link_to "<i class='icon-shopping-cart icon-large'></i> Checkout (#{number_to_currency(@item.price, precision: 0)})".html_safe, @item.link.url, class: "btn btn-success btn-large"%> 

所以,我想這一點:

<%= submit_tag "<i class='icon-shopping-cart icon-large'></i> Checkout (#{number_to_currency(@item.price, precision: 0)})".html_safe, :id => "submit", class: "btn btn-success btn-large" %> 

但沒有奏效。它只是給了我一個巨大的屁股按鈕與提交文本中的一些HTML。

如何轉義HTML?

編輯1

這裏是由submit_tag生成的HTML:

<input class="btn btn-success btn-large" id="submit" name="commit" type="submit" value="&lt;i class='icon-shopping-cart icon-large'&gt;&lt;/i&gt; Checkout ($7)"> 

回答

1

試用button_tag,我沒有測試過,但它接受一個塊:

button_tag(type: 'submit', class: "btn btn-success btn-large") do 
    "<i class='icon-shopping-cart icon-large'></i> Checkout (#{number_to_currency(@item.price, precision: 0)})".html_safe 
end 

搜索 「button_tag」 在http://api.rubyonrails.org/

希望這有助於!

+0

如果在HTML末尾添加'.html_safe',那麼這樣做會起作用。 – 2013-05-07 22:51:40

+0

已編輯。謝謝! – cortex 2013-05-07 22:54:38

1

提交按鈕不能包含任何嵌入HTML,因此最好的辦法是這樣的:

<button type="submit" class="btn btn-success btn-large" id="submit"> 
    <i class='icon-shopping-cart icon-large'></i> Checkout <%= number_to_currency(@item.price, precision: 0) %> 
</button> 
+0

我不能使用'

+0

你爲什麼不能使用按鈕標籤的任何原因?我只用bootstrap進行測試,它似乎工作正常。 – 2013-05-07 22:43:30

+0

你是對的@ luis-ramalho - 它確實有效。不過我更喜歡'button_tag'版本。 – marcamillion 2013-05-07 22:58:56