使用simple_form的按钮内的HTML代码

时间:2012-06-01 23:37:56

标签: ruby-on-rails ruby twitter-bootstrap simple-form

我是rails的新手,刚刚找到了simple_form gem。 我用bootstrap suport安装它,但现在我不能让这个代码以我想要的方式工作

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

我只想将图标放在按钮内,但是当我这样做时,它会显示一个带有文本'&lt; i class ='icon-ok icon-white'&gt;&lt; / i&gt;的按钮。保存'

我也试过

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

但没有成功。如何使用simple_form gem在按钮内添加一些HTML?

5 个答案:

答案 0 :(得分:69)

请勿使用content_tag。以下作品:

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

答案 1 :(得分:22)

在simple_form 3.0rc中使用:按钮按钮类型(它将你的块传递给原始的ActiveView按钮助手):

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

或者写下额外的按钮包装。

有关其他信息,请查看simple_form / form_builder.rb FormBuilder#button方法。

答案 2 :(得分:7)

我认为你不能用simple_form做到这一点。但是我有个好消息。你可以使用rails helper和简单的形式一起使用。

只是做

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

不确定这是否有效,即使是语法,但它应该给你一个提示

答案 3 :(得分:0)

您可以使用以下代码执行此操作:

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

请注意,您要使用f.button代替f.submit 另请注意,:button必须是f.button

的第一个参数

答案 4 :(得分:0)

Rails中的一行示例提交按钮,带有bootstrap btn类:

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