0

使用 Rails 和 Mongoid。

放下代码进行解释会更容易:

foo = User.all.to_a

尝试在我的 Javascript 中格式化为可接受的数据。但在我的迭代中:

var dump = []
<%= foo.each do |boop| %>
   dump.push( /*some formatted data using boop/*)
<% end %>

结果转储包含可接受的格式,除了文档对象也添加到数组的末尾。

例如,使用 rails 控制台:

foo.each do |boop|
   print "#{boop.email}\n"
end

打印出电子邮件。然后在最后,在一行中打印出每个文档对象。

我直接从上面的输出:

hobbes203@gmail.com
...
// Prints out emails until end

[#<User _id: 50edd7fe021823ea20000001, _type: nil, email: "hobbes203@gmail.com", password_digest: "$2a$10$xXixV8MlqGco0Qq7j5jQaOkXBWQ9cLgQ7yEOtQruxq.HiYg8GOJ4y", phone: nil, firstName: nil, lastName: nil, employNum: nil, dateMade: nil, role_id: "50edd7da021823db20000001">, ... #prints out rest of users in line.

db 中的数组大小和计数相同。我还使用 last 检查了数组。我正在考虑通过仅获取数组的长度来使用计数迭代器,但我很好奇为什么会发生这种情况。

4

1 回答 1

1

您看到的打印输出是操作的返回值。例如。

> Object.save 
=> true

您可以通过在块结束后传递“;0”来抑制这一点,它仍然会打印输出但会将返回值更改为零。

foo.each {|boop| puts "#{boop.email}\n" };0
于 2013-01-16T18:36:10.940 回答