为什么Rails输出我的数组?
对铁轨来说很新。 构建一个假设的小应用程序,以在日历中显示员工的休假日。 我正在尝试列出那些带有清单的员工(以自定义输出),并且我得到了似乎是数组的东西,一旦循环完成就吐回来。 无法弄清楚为什么 – 我没有直接输出的要求。 当循环结束时,它似乎正在吐出。 有帮助吗?
这是输出:
[#<Employee id: 1, name: "Test 1", created_at: "2012-07-06 19:58:03", updated_at: "2012-07-06 19:59:55">, #<Employee id: 2, name: "Test", created_at: "2012-07-06 21:10:10", updated_at: "2012-07-06 21:10:10">] Add Employee
在语义上, unless
在循环之后看起来不合适,但我的理解是,如果我想把它放在循环之前,我会在之后添加额外的end
。 这有关系吗? 知道发生了什么事吗?
更改<%= @employees.each do |empl| %>
<%= @employees.each do |empl| %>
到<%- @employees.each do |empl| %>
<%- @employees.each do |empl| %>
它将停止输出列表。 也就是说,将=
更改为-
。 使用=
告诉ERB输出该命令的结果。 当你调用each
,它返回列表,以便列表得到输出。
至于你的, unless
,我认为这不是必要的。 如果列表为empty?
然后每个都将返回而不实际执行任何重复,因此循环内的代码永远不会被调用。
在ERB中,只需删除=
就足够了。
<% Ruby code -- inline with output %> <%= Ruby expression -- replace with result %> <%# comment -- ignored -- useful in testing %> %% replaced with % if first thing on a line and % processing is used <%% or %%> -- replace with <% or %> respectively