2012-07-22 15 views
27

我有一个表格的喜欢/不象按钮用ajax:Rails和引导 - 添加HTML标签一个提交按钮文本

= 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添加,但是rails将它作为文本呈现。

UPDATE

我必须设法封装中包含的图标和适当的造型跨度类提交按钮。我现在需要删除按钮上的所有样式...

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

回答

92

感谢ismaelga,我发现this SO question

这是解决方案:

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

是的,因为上面的一个不工作 – Ben 2013-02-04 11:25:52

+1

非常酷..工作就像一个魅力! – 2013-05-18 00:19:13

+7

即使这个解决方案有效,我不喜欢它,因为我不能再看到f变量:)感觉就像从任何地方提交表格... – 2014-11-11 23:55:14

3

试试这个。我没有测试,但我认为可以做这样的事情。

= 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..." 
+0

我试过安装SimpleForm并使用你的第一个答案,但它不起作用。你的第二个都没有.. – 2012-07-24 22:31:10

+0

啊!感谢您的回答,我发现了新的关键字来搜索Google! [这个问题](http://stackoverflow.com/questions/10858582/html-code-inside-buttons-with-simple-form)真的很有帮助! – 2012-07-24 22:34:58

+0

我也回答了这个问题:)希望你能找到解决方案 – 2012-07-24 23:19:08

2

贾斯汀D'的回答帮我还。如果你从谷歌来到这里,你正在寻找一个苗条的实现,你可以做这样的:

= button_tag(type: 'submit', class: 'btn btn-default') do 
    span.glyphicon.glyphicon-floppy-disk> 
    | Save 
end 

修身用户将认识到>的必要性。

这个工作对我使用Rails 4.1.5,2.1.2红宝石和引导,青菜3.2为9月24日,2014年

+0

这节省了我几个小时的挫折感。 +1! – 2016-02-25 03:03:10

2

另一种选择可能是button到位的submit

看到的Rails文档FormBuilder#button

= f.button :class => "btn btn-warning btn-mini" do 
    %i.icon-heart.icon-white 
    = pluralize(@video.likes.count, 'like') 
-2

请尝试下面的代码。它的作品

<%= f.submit :class => "btn btn-success btn-mini" %> 
+0

这将是很好的补充一些解释。 – 2016-06-17 14:12:15

+0

您的答案不包括提交标记中的html,因此它不包含图标。 – 2017-11-03 17:00:10