原谅我,伙计们;我仍然是一个完整的RoR 新手。
我正在尝试使用will_paginate gem 为我的 Rails 应用程序中的搜索结果添加分页。到目前为止,它工作得很好。但是,我遇到了障碍。
我有一个“产品”表,其中包含我希望完全可浏览的数千条记录。这在最基本的场景中很容易。我的控制器中有这个:
page = params[:page] || 1
@products = Product.paginate :page => page, :order => 'symbol'
我想要做的是添加一个参数“字母”,以便仅对符号以给定字母开头的产品进行分页和显示。
这是我尝试过的:
letter = params[:letter] || 'A'
page = params[:page] || 1
@products = Product.paginate_by_sql
['select * from products where symbol like ?', letter + '*'],
:page => page
:order => 'symbol'
但是有了这段代码,页面将无法加载。我在日志文件中看到了这一点,但对我来说它实际上并不像一个错误:
处理 ProductsController#index (for 127.0.0.1 at 2010-09-15 10:03:22) [GET] [4;36;1mProduct Load (9.0ms)[0m [0;1mselect * from products where symbol like 'A*' LIMIT 50 OFFSET 0[0m 在 layouts/main 中渲染模板 渲染产品/索引 在 21 毫秒内完成(查看:4,DB:9)| 200 OK [http://localhost/products]
我意识到我可能遗漏了一些明显的东西,或者不包括解决这个问题所需的信息。有人愿意引导我朝着正确的方向前进,或者让我知道我应该提供哪些其他信息吗?