# Pagination issue

**URL:** <https://www.ruby-forum.com/t/pagination-issue/175795>\
**Category:** Rails\
**Created:** [September 19, 2009, 11:02pm UTC](https://www.ruby-forum.com/t/pagination-issue/175795 "2009-09-19T23:02:43Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![little\_kostas](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/f9ae1b/32.png) [@little\_kostas](https://www.ruby-forum.com/u/little_kostas)\
**Post date:** [September 19, 2009, 11:02pm UTC](https://www.ruby-forum.com/t/pagination-issue/175795/1 "2009-09-19T23:02:43Z")

</div>

Hi guys!  
I am using will\_paginate in my rails application.  
I want to merge these 2 lines in one:

```
@cat_products1 = Product.find(:all, :conditions => {:category_id

```

=\> params[:id]})  
@cat\_products2 = Product.paginate(:per\_page =\> 5, :page =\> params  
[:page],  
:conditions =\> [‘title like ?’ , “%#  
{params[:search]}%”],  
:order =\> ‘title’)

I want to paginate using the condition category\_id=\>params[:id]

Any sollutions???  
Thank u!

Kostas L.

---

<div class="post-metadata">

**Author:** ![little\_kostas](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/f9ae1b/32.png) [@little\_kostas](https://www.ruby-forum.com/u/little_kostas)\
**Post date:** [September 19, 2009, 11:07pm UTC](https://www.ruby-forum.com/t/pagination-issue/175795/2 "2009-09-19T23:07:59Z")

</div>

2009/9/19 Kostas L. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> {params[:search]}%"],  
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â :order =\> ‘title’)
> 
> I want to paginate using the condition category\_id=\>params[:id]
> 
> Any sollutions???

Can’t you just include the category\_id in the conditions for the  
paginate call? Or am I missing something?

Colin

---

<div class="post-metadata">

**Author:** ![little\_kostas](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/f9ae1b/32.png) [@little\_kostas](https://www.ruby-forum.com/u/little_kostas)\
**Post date:** [September 20, 2009, 7:24pm UTC](https://www.ruby-forum.com/t/pagination-issue/175795/3 "2009-09-20T19:24:50Z")

</div>

I do this but i get a systax error. Maybe i’m doing something wrong. I  
wrote this:

@cat\_products = Product.paginate(:per\_page =\> 5, :page =\> params  
[:page],  
:conditions =\> {[‘title like ?’ , “%#  
{params[:search]}%”], :category\_id =\> params[:id]},  
:order =\> ‘title’)

Any ideas???  
Thanx

---

<div class="post-metadata">

**Author:** ![little\_kostas](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/f9ae1b/32.png) [@little\_kostas](https://www.ruby-forum.com/u/little_kostas)\
**Post date:** [September 20, 2009, 9:50pm UTC](https://www.ruby-forum.com/t/pagination-issue/175795/4 "2009-09-20T21:50:32Z")

</div>

> @cat\_products = Product.paginate(:per\_page =\> 5, :page =\> params  
> [:page],  
> :conditions =\> {[‘title like ?’ , “%#  
> {params[:search]}%”], :category\_id =\> params[:id]},  
> :order =\> ‘title’)  
> You’re mixing 2 styles of defining conditions here. You should be  
> able to do this:

Product.paginate(:per\_page =\> 5,  
:page =\> params[:page],  
:conditions =\> [“title LIKE ?”, “%#{params  
[:search]}%”, params[:id]],  
:order =\> ‘title’)

The :conditions array accepts either a string with ? placeholders  
followed by parameters in a list:  
["title = ? AND name = ?, arg1, arg2]

or a string with symbol placeholders followed by a hash:  
[“title = :title AND name = :name”, {:title =\> “foo”, :name =\> “bar”}]

Hope that explains it and helps.

Steve

---

<div class="post-metadata">

**Author:** ![little\_kostas](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/f9ae1b/32.png) [@little\_kostas](https://www.ruby-forum.com/u/little_kostas)\
**Post date:** [September 20, 2009, 10:07pm UTC](https://www.ruby-forum.com/t/pagination-issue/175795/5 "2009-09-20T22:07:31Z")

</div>

2009/9/20 Stephen B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Â Â Â Â Â Â Â Â Â Â Â Â :page =\> params[:page],  
> Â Â Â Â Â Â Â Â Â Â Â Â :conditions =\> [“title LIKE ?”, “%#{params  
> [:search]}%”, params[:id]],

Should that be :conditions =\> [“title LIKE ? AND category\_id = ?”,  
"%#{params

> [:search]}%", params[:id]],

Colin

---

<div class="post-metadata">

**Author:** ![little\_kostas](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/f9ae1b/32.png) [@little\_kostas](https://www.ruby-forum.com/u/little_kostas)\
**Post date:** [September 21, 2009, 10:30am UTC](https://www.ruby-forum.com/t/pagination-issue/175795/6 "2009-09-21T10:30:23Z")

</div>

> Should that be :conditions =\> [“title LIKE ? AND category\_id = ?”, “%#{params[:search]}%”, params[:id]],  
> Yeah :0)

Steve
