36

我是 Rails 新手,刚刚发现了 simple_form gem。我用引导支持安装了它,但现在我无法让这段代码按照我想要的方式工作

<%= 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?

4

5 回答 5

71

不要使用 content_tag。以下作品:

  <%= button_tag(type: 'submit', class: "btn btn-primary") do %>
    <i class="icon-ok icon-white"></i> Save
  <% end %>
于 2012-06-05T14:24:33.607 回答
27

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

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

或者编写额外的按钮包装器。

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

于 2013-08-28T13:14:56.880 回答
7

I think you can't do it with simple_form. But I have good news for you. You should be fine using rails helper along side with simple form.

just do

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

Not sure if this works, even the syntax but it should give you a hint

于 2012-06-02T02:09:34.050 回答
1

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

<%= button_tag(type: 'submit', class: "btn btn-primary") do %> Save <% end %>
于 2017-02-17T01:51:48.493 回答
0

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

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

请注意,您要使用,f.button而不是f.submit 另请注意,:button需要成为第一个参数f.button

于 2016-06-25T13:34:44.640 回答