gpt4 book ai didi

ruby-on-rails - Array.count 在本地工作正常但在 heroku 上中断

转载 作者:行者123 更新时间:2023-12-02 00:38:34 24 4
gpt4 key购买 nike

现在,如果我转到我拥有的模型的索引操作,如果数据库中没有现有记录,我不会显示 Rails 为我生成的基本数据表。我做类似的事情:

<% if @my_records.count > 0 %>
<table>
<tr>
<th>...</th>
<th>...</th>
<th>...</th>
<th>etc</th>
</tr>
<% @my_records.each do |my_record| %>
<tr>
<td><%=h my_record.etc %></td>
<td><%=h my_record.etc %></td>
<td><%=h my_record.etc %></td>
<td><%=h my_record.etc %></td>
</tr>
<% end %>
</table>
<% end %>

这在本地有效。但是,当我将我的应用程序推送到 heroku 时,这会导致 500 错误并且日志显示:ActionView::TemplateError (undefined method 'count' for []:Array) on line ...

所以我将其更改为 .length 并且它工作正常。谁能告诉我这是为什么?有人告诉我这些是多余的,rails 去掉了 .count 但我的理解是 .length 是一个 Array 函数,它告诉你Array 中有多少项,.count 是一种 ActiveRecord 方法,用于确定数组中有多少项是数据库中的实际记录。

有人能帮我解释一下吗?

最佳答案

那是 ruby​​ 问题,不是 rails。在本地你可能有 1.8.7,而 heroku 有 1.8.6。 1.8.7引入了Enumerable#count方法:compare http://ruby-doc.org/core-1.8.6/classes/Enumerable.htmlhttp://ruby-doc.org/core-1.8.7/classes/Enumerable.html .

关于ruby-on-rails - Array.count 在本地工作正常但在 heroku 上中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3581341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com