Zac*_*ack 0 ruby-on-rails button twitter-bootstrap
我目前有一个由链接组成的导航栏,如下所示。
导航栏:
<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>
Run Code Online (Sandbox Code Playgroud)
我真正想做的是使这些链接按钮具有嵌入式徽章,显示类似于下面的计数。我就是不知道如何用 Rails 做到这一点。
<button class="btn btn-primary" type="button">
Messages <span class="badge">4</span>
</button>
Run Code Online (Sandbox Code Playgroud)
您可以使用link_to 块方法:
<%= link_to '#messages', class: 'btn btn-primary', data: {toggle: :tab} do %>
Messages <%= content_tag :span, @user.messages.count, class: 'badge' %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
或者,如果您设置为使用单行,则可以使用这样的助手:
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
Run Code Online (Sandbox Code Playgroud)
然后调用:
<%= link_to text_with_badge('Messages', @user.messages.count), '#messages', class: 'btn btn-primary', data: {toggle: :tab} %>
Run Code Online (Sandbox Code Playgroud)
或者加倍努力创建自己的link_to_with_badge帮手。
| 归档时间: |
|
| 查看次数: |
993 次 |
| 最近记录: |