web-dev-qa-db-ja.com

simple_formを使用したボタン内のHTMLコード

Railsは初めてで、simple_form gemを見つけました。 bootstrap suportでインストールしましたが、このコードを思い通りに動作させることができません。

<%= f.button :submit, "<i class='icon-ok icon-white'></i> Save", class: "btn btn-primary" %>

アイコンをボタン内に配置したいのですが、これを実行すると、ボタンに「<i class = 'icon-ok icon-white'> </ i> Save」というテキストが表示されます

私もやってみました

<%= f.button :submit, class: "btn btn-primary" do %><i class="icon-ok icon-white"></i> Save<% end %>

しかし、成功しませんでした。 simple_form gemを使用してボタン内にHTMLを追加するにはどうすればよいですか?

35
Bruno Campos

Content_tagは使用しないでください。次の作品:

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

Simple_form 3.0rcでは、:buttonボタンタイプを使用します(ブロックを元のActiveViewボタンヘルパーに渡します)。

<%= f.button :button do %>
  <i class="icon-save"></i>
  Commit
<% end %>

または、追加のボタンラッパーを記述します。

追加情報については、simple_form/form_builder.rb FormBuilder#buttonメソッドを調べてください。

25
Bombazook

Simple_formではそれはできないと思います。しかし、あなたに良い知らせがあります。単純なフォームと一緒にRailsヘルパーを使用して問題ないはずです。

するだけ

button_tag(type: 'submit', class: "btn btn-primary") do
  content_tag(:i, class: "icon-ok icon-white")
  "Save"
end

これが機能するかどうかはわかりませんが、構文もヒントになります

7
Ismael Abreu

Rails with bootstrap btn classの1行の送信ボタンの例:

<%= button_tag(type: 'submit', class: "btn btn-primary") do %> Save <% end %>
1
jasonleonhard

これは、次のコードで実行できます。

= f.button :button, 'Send', data: { disable_with: "<i class='fi-heart'></i> Sending..." }

f.buttonの代わりにf.submitを使用することに注意してください。また、:buttonf.buttonの最初のパラメータである必要があることに注意してください。

0
stephenmurdoch