29

ajaxを使用したlike/unlikeボタンのフォームがあります:

= 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をボタンに追加する方法はありますか?プレーンHTMLとして追加しようとしましたが、railsはテキストとしてレンダリングしました。

アップデート

アイコンと適切なスタイルを含むスパンクラスに送信ボタンをカプセル化することができました。ボタンのすべてのスタイリングを削除する必要があります...

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

7 に答える 7

99

ismaelga のおかげで、この SO questionを見つけました。

これが解決策です:

<%= button_tag(type: 'submit', class: "btn btn-primary") do %>
 <i class="icon-ok icon-white"></i> Save
<% end %>
于 2012-07-24T22:35:58.887 に答える
2

これを試して。私はテストしていませんが、このようなことは可能だと思います。

= 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..."
于 2012-07-22T22:20:33.020 に答える
-3

以下のコードを試してください。できます

<%= f.submit :class => "btn btn-success btn-mini" %>
于 2016-06-17T14:08:58.613 に答える