Ruby on Rails:显示找到的搜索结果数

时间:2014-01-05 16:36:13

标签: ruby-on-rails ruby model-view-controller count

我想显示找到的任何数量的项目并返回给用户。在我的数据库中,有4个项目。搜索功能正常。我现在想要显示的是找到的任何数量的记录。如果用户搜索“aI”,则返回2个项目,并且我想显示已找到2个项目的文本。我试图在视图中做到这一点 - >布局 - > application.html.erb。

2 个答案:

答案 0 :(得分:5)

你必须计算实际结果。 产品(带有大写字母p)将始终返回数据库中该类的所有对象。因此26.将结果保存在ivar( @products )中,并在您的视图中调用该数字。

在控制器中

@products = Product.fuzzy_search2(params[:search_string])

在视图中

<% if @products %>
<span> <%= @products.count %> Books Found</span>
<% end %>

答案 1 :(得分:2)

我假设您将搜索结果存储在ivar中。您需要在该ivar或.count / .size上调用.length,如果它存储在数组中。问题是当你打电话给Product.count时,你总是会得到数据库中所有产品的数量,因为这正是你要告诉它的。