所以我有标准的脚手架循环,打印一串符号的标签。
<% @meets.each do |meet| %>
<p class="MeetTags"><%= meet.tags %></p>
<% end %>
如何分隔例如3个单词的字符串,以便每个单词都在单独的框中。 谢谢!
答案 0 :(得分:1)
你可以做一些像
这样的想法<% @meets.each do |meet| %>
<% meet_tags = meet.tags.split(' ') %>
<% meet_tags.each do |meet_tag|%>
<p class="MeetTags"><%= meet_tag %></p>
<%end%>
<% end %>
答案 1 :(得分:0)
假设您的标记与空格连接:
<% @meets.each do |meet| %>
<% meet.tags.split(' ').each do |word| %>
<p class="MeetTags"><%= word %></p>
<% end %>
<% end %>
答案 2 :(得分:0)
你的问题是meet.tags
是一个数组,所以你告诉rails显示数组:这就是你看到方括号的原因。
如果要将标记拆分为3个组,然后用空格分隔,则可以执行以下操作:
<% @meets.each do |meet| %>
<% tag_arr = meet.tags.split(' ') %>
<% tag_arr.in_groups_of_3.each do |tag_subarr|%>
<p class="MeetTags"><%= tag_subarr.reject(&:blank?).join(" ") %></p>
<%end%>
<% end %>
我正在使用.reject(&:blank?)
,因为in_groups_of
方法将使用nil填充最后一个子数组,这会弄乱您的格式,如果您尝试对该成员执行任何操作,可能会导致其他问题tag_subarr的元素。