ruby-on-rails - 使用 ERB 打印数组元素

标签 ruby-on-rails ruby arrays erb

<分区>

我正在尝试将在我的 Controller 中定义的一个简单数组打印到我的 View 中,每个元素都换行。但它所做的是在一行中打印整个数组。

这是我的 Controller :

class TodosController < ApplicationController
  def index
    @todo_array = [ "Buy Milk", "Buy Soap", "Pay bill", "Draw Money" ]
  end
end

这是我的观点:

<%= @todo_array.each do |t| %>
<%= puts t %><\br>
<% end %>

结果如下:

<\br> <\br> <\br> <\br> ["Buy Milk", "Buy Soap", "Pay bill", "Draw Money"]

最佳答案

Erb,您在 View 中使用的模板引擎,有几种不同的方法可以在模板中嵌入 ruby​​ 代码。

当您将代码放入 <%= %> 时 block ,erb 评估里面的代码并打印 HTML 中最后一条语句的值。自 .each在 ruby​​ 中返回您迭代的集合,循环使用 <%= %>尝试打印整个数组的字符串表示形式。

当您将代码放入 <% %> 时 block ,erb 只计算代码,不打印任何东西。这允许您在 View 中执行条件语句、循环或修改变量。

您还可以删除 puts来自 puts t . Erb 知道尝试转换它在 <%= %> 中看到的最后一个值成字符串显示。

关于ruby-on-rails - 使用 ERB 打印数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13219475/

相关文章:

ruby-on-rails - 文本编辑器支持使用 ckeditor 将图像从客户端 Rails 应用上传到 Rails API

java - Grails 是开发与 Cassandra 兼容的 Web 应用程序的不错选择吗?

ruby-on-rails - 按父属性排序

c# - 是否有可能通过修改数组元素的副本来更改数组元素?

java - 如何在Java中检索Array中List的第一个和第二个元素?

ruby-on-rails - 如何制作我的 Ruby on Rails 2.3.4 应用程序 "Rails 3-ready"

ruby-on-rails - 在 rails 中使用 MIME 类型渲染文件

ruby - RuntimeError: :json 未在 Faraday::Request 上注册

ruby - Sinatra 中使用 HAML 的模板函数

javascript - Array.sort safari 问题