将字符串拆分为链接的单词
Posted
技术标签:
【中文标题】将字符串拆分为链接的单词【英文标题】:Splitting string into linked words 【发布时间】:2013-12-11 09:09:22 【问题描述】:所以我有标准的脚手架循环,可以打印一串会议的标签。
<% @meets.each do |meet| %>
<p class="MeetTags"><%= meet.tags %></p>
<% end %>
如何分隔例如 3 个单词的字符串,以便每个单词都在单独的框中。 谢谢!
【问题讨论】:
如果您有一个有效的答案,您应该接受它(点击最佳答案旁边的复选标记) 【参考方案1】:你可以做一些像这样的思考
<% @meets.each do |meet| %>
<% meet_tags = meet.tags.split(' ') %>
<% meet_tags.each do |meet_tag|%>
<p class="MeetTags"><%= meet_tag %></p>
<%end%>
<% end %>
【讨论】:
【参考方案2】:您的问题是 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 的成员元素执行任何操作,可能会导致其他问题。
【讨论】:
【参考方案3】:假设你的标签是用空格连接的:
<% @meets.each do |meet| %>
<% meet.tags.split(' ').each do |word| %>
<p class="MeetTags"><%= word %></p>
<% end %>
<% end %>
【讨论】:
我怎样才能得到吃咖啡午餐而不是[“吃咖啡午餐”] @DanieliusVisockas 在split
'条件'中将逗号更改为空格,就像我在编辑答案中所做的那样。
我想去掉 [ 和 " 符号。如果我将空格改为逗号,我会得到 ["eat", "coffee", "lunch"]
@DanieliusVisockas 你的意思是,你在 html 中得到这些?
是的,我已经从我的网站上粘贴了它。以上是关于将字符串拆分为链接的单词的主要内容,如果未能解决你的问题,请参考以下文章