首页 > 解决方案 > 拆分和打印文本数组的麻烦

问题描述

我正在编写简单的食谱,用户输入用逗号分隔的成分(文本输入),当在自己的框中查看该食谱时,它会显示成分。我的麻烦是我想将成分 a、成分 b、成分 c 列表更改为 *ingredient a *ingredient b ect。在我的控制台中

 i = ("bread, milk, butter")
i.split.each { |n| puts "Current ingredient is: #{n}" }

给我输出

当我尝试实现这个

<aside id= 'ingredients'>
  <strong>Ingredients:</strong>
  <ul>
    <li><%= @recipe.ingredients.split(',').each { |n| 
      puts "Current ingredient is: #{n}" } %></li>
  </ul>
</aside>

我得到了合适的盒子,但输出是“[“意大利面条”、“肉丸”、“酱汁”]”

如果有人对此有任何想法,我将不胜感激!

标签: ruby-on-railsruby

解决方案


两件事情...

  1. puts在控制台中显示内容而不是 html

  2. <%=显示其结果@recipe.ingredients.split(',')是一个数组。

需要在外部迭代<li>并显示项目......

<aside id= 'ingredients'>
  <strong>Ingredients:</strong>
  <ul>
    <% @recipe.ingredients.split(',').each do |n| %>
      <li>
         <%= "Current ingredient is: #{n}" %>
      </li>
    <% end %>
  </ul>
</aside>

请注意,它是

<% @recipe.ingredients.split(',').each do |n| %>

不是

<%= @recipe.ingredients.split(',').each do |n| %>

推荐阅读