使用" link_to"如何在同一行中获取html和rails代码

时间:2015-05-07 05:36:51

标签: html ruby-on-rails ruby ruby-on-rails-3

 <%= link_to 'Received Messages<span class="badge badge info">
 @receivedmessage.count</span>'.html_safe, '/messages/show' %>

下面是我到目前为止的输出。我必须得到&#34;消息计数&#34;在徽章内而不是&#34; @ receivedmessage.count&#34;

enter image description here

2 个答案:

答案 0 :(得分:3)

您可以使用link_to ... do,IMO比newmediafreak的答案更清晰:

<%= link_to '/messages/show' do %>
  Received Messages<span class="badge badge info"><%= @receivedmessage.count %></span>
<% end %>

答案 1 :(得分:1)

如果要插入变量,则应使用引号而不是单引号。此外,您需要在变量周围使用#{}。一个例子:

name = 'John'
puts "Hello, #{name}!"

注意我在使用字符串插值时如何在第二行使用引号,并将变量name#{}包围在一起?

现在,让我们将其应用于您的示例:

<%= link_to "Received Messages <span class='badge badge info'>#{@receivedmessage.count}</span>".html_safe, '/messages/show' %>

<强>更新

字符串插值和html_safe可能并不总是一个好主意,但由于您只插入count它应该没问题。更好的选择是使用Micha建议的内容(使用link_to ... do):

<%= link_to '/messages/show' do %>
  Received Messages <span class="badge badge info"><%= @receivedmessage.count %></span>
<% end %>