如何使用rails link_to和bootstrap徽章

时间:2015-12-15 19:31:05

标签: ruby-on-rails twitter-bootstrap button

我目前有一个由链接组成的导航栏,如下所示。

导航条:

<li>
  <%= link_to "Messages (#{@user.messages.count})", "#messages", "data-toggle" => :tab %>
</li>
<li>
  <%= link_to "Notes (#{@user.notes.count})", "#notes", "data-toggle" => :tab %></li>
</li>

我真正想做的是使这些链接按钮具有嵌入式徽章,显示类似于下面的计数。我只是无法弄清楚如何使用rails。

<button class="btn btn-primary" type="button">
  Messages <span class="badge">4</span>
</button>

1 个答案:

答案 0 :(得分:3)

您可以使用link_to block method

<%= link_to '#messages', class: 'btn btn-primary', data: {toggle: :tab} do %>
    Messages <%= content_tag :span, @user.messages.count, class: 'badge' %>
<% end %>

或者,如果你开始使用一行,你可以使用这样的帮助:

def text_with_badge(text, badge_value=nil)
    badge = content_tag :span, badge_value, class: 'badge'
    text = raw "#{text} #{badge}" if badge_value
    return text
end

然后致电:

<%= link_to text_with_badge('Messages', @user.messages.count), '#messages', class: 'btn btn-primary', data: {toggle: :tab} %>

或者更加努力地创建自己的link_to_with_badge帮助器。