将字符串拆分为链接的单词

时间:2013-11-26 09:46:33

标签: ruby-on-rails ruby scaffold

所以我有标准的脚手架循环,打印一串符号的标签。

<% @meets.each do |meet| %>
      <p class="MeetTags"><%= meet.tags %></p>
   <% end %>

如何分隔例如3个单词的字符串,以便每个单词都在单独的框中。 谢谢!

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的元素。