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

Using "link_to" how to get html and rails code in same line

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

下面是我目前得到的输出。我必须得到徽章内的 "message count number" 而不是 "@receivedmessage.count"

当你想插入你的变量时,你应该使用引号而不是单引号。此外,您需要在变量周围使用 #{} 。一个例子:

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 %>

您可以使用 link_to ... do,IMO 比 newmediafreak 的回答更干净:

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