在Ruby on Rails中将Bootstrap图标添加到按钮

Bjo*_*orn 6 ruby ruby-on-rails twitter-bootstrap

我想在轨道上的红宝石中为按钮添加一个图标.目前我尝试过以下方法:

<%= 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"}%>
Run Code Online (Sandbox Code Playgroud)

它产生以下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>
Run Code Online (Sandbox Code Playgroud)

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

谢谢你的帮助!

Kar*_*ren 12

你也可以试试这个:

<%= link_to 'Upvote <i class="icon-arrow-up"></i>'.html_safe, 'events/upvoteEvent', class: => 'btn btn-success' %>
Run Code Online (Sandbox Code Playgroud)

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

<%= button_tag(:type => 'submit', :class => 'btn btn-success') do %>
Upvote <i class="icon-up-arrow icon-white"></i>
<% end %>
Run Code Online (Sandbox Code Playgroud)


Bjo*_*orn -5

感谢你们的帮助,最终修改了我自己的 html 输出,使其工作:

<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>
Run Code Online (Sandbox Code Playgroud)