Ruby on rails 为什么Rails要输出我的数组?

Ruby on rails 为什么Rails要输出我的数组?,ruby-on-rails,ruby,Ruby On Rails,Ruby,对rails来说,这是非常新的。构建一个假设的小应用程序,在日历中显示员工的假期。我试着用一个清单列出这些员工(定制输出),我得到的似乎是数组,循环完成后向我吐口水。不明白为什么-我没有直接输出的要求。当循环结束时,它似乎正在吐出。有什么帮助吗 <%= @employees.each do |empl| %> <label><%= check_box 'employee','id',{:checked => 'checked' },empl.id %&

对rails来说,这是非常新的。构建一个假设的小应用程序,在日历中显示员工的假期。我试着用一个清单列出这些员工(定制输出),我得到的似乎是数组,循环完成后向我吐口水。不明白为什么-我没有直接输出的要求。当循环结束时,它似乎正在吐出。有什么帮助吗

<%= @employees.each do |empl| %>
    <label><%= check_box 'employee','id',{:checked => 'checked' },empl.id %>
    <%= link_to empl.name, edit_employee_path(empl), :target => '_blank' %></label>
<% end unless @employees.empty? %>
<%= link_to 'Add Employee', new_employee_path %>

“选中”},emp.id%>
“\u空白“%”
以下是输出:

<label><input name="employee[id]" type="hidden" value="0" /><input checked="checked" id="employee_id" name="employee[id]" type="checkbox" value="1" />
    <a href="/employees/1/edit" target="_blank">Test 1</a></label>
<label><input name="employee[id]" type="hidden" value="0" /><input checked="checked" id="employee_id" name="employee[id]" type="checkbox" value="2" />
    <a href="/employees/2/edit" target="_blank">Test</a></label>
[#&lt;Employee id: 1, name: &quot;Test 1&quot;, created_at: &quot;2012-07-06 19:58:03&quot;, updated_at: &quot;2012-07-06 19:59:55&quot;&gt;, #&lt;Employee id: 2, name: &quot;Test&quot;, created_at: &quot;2012-07-06 21:10:10&quot;, updated_at: &quot;2012-07-06 21:10:10&quot;&gt;]
<a href="/employees/new">Add Employee</a>

[#员工id:1,姓名:“测试1”,创建时间:“2012-07-06 19:58:03”,更新时间:“2012-07-06 19:59:55”,员工id:2,姓名:“测试”,创建时间:“2012-07-06 21:10:10”,更新时间:“2012-07-06 21:10:10”]
从语义上讲,循环之后的
除非
似乎不合适,但我的理解是,如果我想将其放在循环之前,我会在循环之后添加一个额外的
结束。这有关系吗?知道发生了什么吗?

更改为
,它将停止输出列表。也就是说,将
=
更改为
-
。使用
=
命令ERB输出该命令的结果。当您调用每个
时,它将返回列表,以便列表得到输出


至于你的
,除非
,我认为实际上没有必要。如果列表
为空?
则每个都将返回,而不实际执行任何重复,因此循环中的代码永远不会被调用

在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

%%如果使用了行上的第一件事和%处理,则替换为%
--分别替换为

我知道事情会变得如此愚蠢(对我来说,显然不是你),但我就是无法做到。除非在那里,否则它会显示一个空数组(我没有仔细考虑过),但是如果我修复了这个,我就不需要它了。谢谢跟进:为什么
-
?看起来,完全删除
=
也会起作用。
-
有什么作用?我已经有一段时间没用ERB了,所以我有点生疏了。我相信
-
将阻止它在HTML中添加与文件中该行对应的空行。