Ruby 在Rails中搜索和计数符合条件的记录
如果我的搜索条件出现空结果,我会尽量避免在数据表中出现错误。有没有办法获得表中要返回的行数的计数 我的表代码如下所示:Ruby 在Rails中搜索和计数符合条件的记录,ruby,ruby-on-rails-4,datatables,Ruby,Ruby On Rails 4,Datatables,如果我的搜索条件出现空结果,我会尽量避免在数据表中出现错误。有没有办法获得表中要返回的行数的计数 我的表代码如下所示: <% @loads.each do |load| %> <% if load.trucker == current_trucker and (load.pickup_datetime <= Date.today or load.current_status == "ON HOLD") %> 我只想在前面有一行,检查它是否返回1行或更多行,以便
<% @loads.each do |load| %>
<% if load.trucker == current_trucker and (load.pickup_datetime <= Date.today or load.current_status == "ON HOLD") %>
我只想在前面有一行,检查它是否返回1行或更多行,以便在它为null时消除结果
有什么想法吗?对我放松点-我是一个爱好水平的人
谢谢,不要在所有@loads上循环,而是将条件集成到查询中。例如,在控制器中 希望这能解决视图中的问题,尽管没有视图代码和堆栈跟踪很难调试
至少,将数据库查询移动到控制器是朝着正确方向迈出的一步。它的性能应该更高,测试起来也更容易。包括您得到的错误我得到的错误来自datatables-为第0行请求的未知参数“0”。如果表的条件为空,则会给出该值。
@loads = @loads.where(
'load.trucker == ? and (load.pickup_datetime <= ? or load.current_status == ?)',
[current_trucker, Date.today, 'ON HOLD']
)