4

重複の可能性:
レールフォームヘルパーで送信用のボタンタグを生成する方法はありますか

これはおそらく非常に簡単な質問ですが、次の HTML レイアウトがあります。

<button class="btn btn-large btn-inverse"><i class="icon-white icon-shopping-cart"></i> Add to bag</button> 

これはカートに追加するボタンです。カートを作成するには、Agile Web Development という本に従っています。質問は、ボタン タグの間に HTML が埋め込まれている場合、そのようにレンダリングするにはどうすればよいですか? 私はこれを試しました:

%= button_to raw('<i class="icon-white icon-shopping-cart"></i> Add to bag'), line_items_path(product_id: product) %>

しかし、最初にボタンではなく「入力」を出力し、テキストはすべてHTMLで斜めになっており、開始タグと終了タグの間ではありません。

私はそれをすべて手動で書くことができることを知っていますが、主にtwitterのブートストラップでこのタイプのHTMLパターンを常に見ているため、このHTMLを実行してrailsタグを使用して出力するショートカットがあるかどうかを理解したいと思っていました...

どんな助けでも大歓迎です。

4

1 に答える 1

1

Mischa のコメントによると、 Is there a way with rails form helper to generate a button tag for submit に似ています。

content_tag ヘルパーを使用して、レールにボタンを記述できます。ただし、生の html よりも書き込みに時間がかかるため、ショートカットではありません。

ただし、これを頻繁に行う必要がある場合は、カスタム ヘルパー メソッドを記述して、必要な方法で行うことができます。

app/helpers/application_helper.rb に追加するだけです

def my_button_to name, options = {}, html_options = {} # or some variation
  # eg. deal with options hash the way button_to deals with it here?
  content_tag :button, html_options = nil do
    raw name
  end
end

これで、ビューでこれを使用できます。

<%= my_button_to '<i class="icon-white icon-shopping-cart"></i> Add to bag', {}, :class => "btn btn-large btn-inverse" %>
于 2012-08-19T09:01:26.710 に答える