簡體   English   中英

在此paginate_by_sql調用中我在做什么錯?

[英]What am I doing wrong in this paginate_by_sql call?

伙計們,請原諒我。 我仍然是完全的 RoR新手。

我正在嘗試使用will_paginate gem將分頁添加到我的Rails應用程序的搜索結果中。 到目前為止,它一直都很棒。 但是,我遇到了障礙。

我有一個“產品”表,其中包含成千上萬條我希望可以完全瀏覽的記錄。 在最基本的情況下,這很容易。 我的控制器中有這個:

page = params[:page] || 1
@products = Product.paginate :page => page, :order => 'symbol'

我想做的是添加一個參數“ letter”,以便僅對符號以給定字母開頭的產品進行分頁和顯示。

這是我嘗試的:

letter = params[:letter] || 'A'
page = params[:page] || 1
@products = Product.paginate_by_sql
    ['select * from products where symbol like ?', letter + '*'],
    :page => page
    :order => 'symbol'

但是有了此代碼,該頁面將無法加載。 我在日志文件中看到了這一點,但實際上對我來說似乎不是一個錯誤:

Processing 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
Rendering template within layouts/main
Rendering products/index
Completed in 21ms (View: 4, DB: 9) | 200 OK [http://localhost/products]

我意識到我可能缺少明顯的東西,或者不包括解決此問題所需的信息。 有人願意引導我朝正確的方向發展,還是讓我知道我還應該提供什么其他信息?

不知道您使用的是哪個數據庫,但我認為您的SQL錯誤。 這不是letter + '%'而不是letter + '*'嗎?

%通常是SQL通配符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM