6

我想在 ruby​​ on rails 的按钮上添加一个图标。目前我已经尝试了以下方法:

<%= button_to raw("<i class=\"icon-arrow-up\"></i>"),
{:controller => 'events', :action => "upvoteEvent", :method => "put",
:id => @event.id, :uid => current_user.id},
{:class => "btn btn-success"}%>

生成以下html:

<form action="/events/upvoteEvent?id=17&amp;method=put&amp;uid=7" class="button_to" method="post"><div><input class="btn btn-success" type="submit" value="<i class="icon-arrow-up"></i>" /><input name="authenticity_token" type="hidden" value="FsVUPiYl0cK666pn8hqo6AU9/HK0CweZ/nsXqwOWZzU=" /></div></form>

我遵循了此处发布的解决方案:https ://stackoverflow.com/a/10468935/1385324 ,但它对我不起作用。我还测试了 Bootstrap CSS 是否正常工作,只需在网站上的任何其他位置插入一个图标即可。

谢谢你的帮助!

4

5 回答 5

12

你也可以试试这个:

<%= link_to 'Upvote <i class="icon-arrow-up"></i>'.html_safe, 'events/upvoteEvent', class: => 'btn btn-success' %>

或者对于一个真正的提交按钮,这个:

<%= button_tag(:type => 'submit', :class => 'btn btn-success') do %>
Upvote <i class="icon-up-arrow icon-white"></i>
<% end %>
于 2012-07-30T15:49:05.153 回答
1

如果您只是在寻找一个看起来像按钮的链接,您可以执行以下操作:

<%= link_to 'Upvote <i class="icon-arrow-up"></i>', 'events/upvote', class: 'btn btn-success' %>

如果您想将它用于表单,您可以使用button_tagsubmit_tag或来执行类似的操作f.submit

<%= submit_tag 'Upvote <i class="icon-arrow-up"></i>', html: { class: 'btn btn-success' } %>
于 2012-05-09T18:49:06.690 回答
0

如果您在 Twitter Bootstrap 网站上查看此页面的底部,您会注意到上面有一些带有图标的按钮。然后,您可以查看源代码以了解他们是如何做到的——我会说这将是一个很好的起点。

于 2012-05-09T18:38:34.133 回答
0

更好和更清洁的方法是:

= link_to 'events/upvoteEvent', class: => 'btn btn-success' do
   Upvote
   <i class="icon-arrow-up"></i>'.html_safe
于 2016-02-09T18:52:59.393 回答
-5

感谢您的帮助,最终修改了我自己的 html-output 使其工作:

<form action="/events/upvoteEvent?id=<%= @event.id.to_s%>&amp;method=put&amp;uid=<%= current_user.id.to_s%>" class="button_to" method="post">
    <button type="submit" value="upvote" class="btn btn-success">
        <i class="icon-arrow-up"></i>
    </button>
</form>
于 2012-05-10T06:39:17.453 回答