You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby项目中分割逗号分隔食材字符串并在ERB模板输出列表问题

问题原因

  1. ERB模板中<%= %>语法的作用是输出紧随其后的表达式的返回值,而Ruby中each迭代器执行完成后会返回原始的调用数组,因此你最终在页面看到了数组格式的输出。
  2. 你代码中使用的puts方法是向控制台标准输出打印内容,不会写入ERB的页面渲染结果,因此遍历打印的内容不会出现在页面上。

解决方案

你需要调整ERB的写法,用不带等号的<% %>执行遍历逻辑,在循环内部单独输出每个食材项,同时可以用strip方法清除食材前后多余的空格:

<aside id='ingredients'>
  <strong>Ingredients:</strong>
  <ul>
    <% @recipe.ingredients.split(',').each do |ingredient| %>
      <li><%= ingredient.strip %></li>
    <% end %>
  </ul>
</aside>

额外优化建议

如果需要匹配你控制台测试时的「Current ingredient is: X」格式,只需要修改循环内的输出内容即可:

<li><%= "Current ingredient is: #{ingredient.strip}" %></li>

内容的提问来源于stack exchange,提问作者Sevin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 02:54:04