Ruby on rails 为什么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 %&
<%= @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>
[#<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">]
<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中添加与文件中该行对应的空行。