我对每个陈述都有以下内容:
<% @post.votes.each do |vote| %>
<span class='voted-user'>
<%= link_to vote.user.username, vote.user %>
</span>
<% end %>
我希望拥有这样的用户名:
使用to_sentence
方法的username1,username2,username3和username4。
但我不确定如何在这种情况下使用它。有什么建议吗?
答案 0 :(得分:2)
您可以使用map
方法而不是each
来返回数组,并使用to_sentence
对其进行处理。并使用content_tag
来填补它的范围。
<%=
@post.votes.map do |vote|
content_tag :span class: 'voted-user' do
link_to vote.user.username, vote.user
end
end.to_sentence
%>
答案 1 :(得分:1)
<%= @post.votes.map do |vote| %>
<% content_tag :span, :class => 'voted-user' do %>
<% link_to vote.user.username, vote.user %>
<% end %>
<% end.to_sentence.html_safe %>
虽然我建议把它全部变成帮手。
视图
<%= vote_links @post.votes %>
votes_helper.rb
def vote_links(votes)
votes.map do |vote|
content_tag :span, :class => 'voted-user' do
link_to vote.user.username, vote.user
end
end.to_sentence.html_safe
end