# Undefined method

**URL:** <https://www.ruby-forum.com/t/undefined-method/138251>\
**Category:** Ruby\
**Created:** [May 21, 2008, 11:25am UTC](https://www.ruby-forum.com/t/undefined-method/138251 "2008-05-21T11:25:06Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [May 21, 2008, 11:25am UTC](https://www.ruby-forum.com/t/undefined-method/138251/1 "2008-05-21T11:25:06Z")

</div>

Hi  
This is more ruby related that is why I am asking here  
I have controller code as  
@sd\_activities=ServiceDeskActivity.find\_all\_by\_service\_desk\_ticket\_id(service\_desk\_ticket.id).display\_sd\_activities(params[:page])

and in model ServiceDeskActivity  
def self.sd\_activities\_paginate(page)  
paginate :per\_page =\> 2, :page =\> page  
end

But this gave me an error  
undefined method `display\_sd\_activities’ for #Array:0xb7416164

And if it were  
@sd\_activities=ServiceDeskActivity.find\_all\_by\_service\_desk\_ticket\_id(service\_desk\_ticket.id).paginate  
:per\_page =\> 2, :page =\> page  
or  
@sd\_activities=service\_desk\_ticket.service\_desk\_activities.paginate  
:per\_page =\> 2, :page =\> page

```
     Then no error happens And it working properly

```

But  
@sd\_activities=service\_desk\_ticket.service\_desk\_activities  
puts @sd\_activities.class  
@sd\_activities=ServiceDeskActivity.find\_all\_by\_service\_desk\_ticket\_id(service\_desk\_ticket.id)  
puts @sd\_activities.class

Here both gives Array.The why the first working and second not?

Thanks in advance  
Sijo

---

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [May 21, 2008, 12:06pm UTC](https://www.ruby-forum.com/t/undefined-method/138251/2 "2008-05-21T12:06:02Z")

</div>

Hi,

It seems this is more rails-related problem.

Sijo Kg wrote:

> Hi  
> This is more ruby related that is why I am asking here  
> I have controller code as  
> @sd\_activities=ServiceDeskActivity.find\_all\_by\_service\_desk\_ticket\_id(service\_desk\_ticket.id).display\_sd\_activities(params[:page])
> 
> and in model ServiceDeskActivity  
> def self.sd\_activities\_paginate(page)  
> paginate :per\_page =\> 2, :page =\> page  
> end

You defined ‘sd\_activities\_paginate’ as a ServiceDeskActivity’s class  
method, not as Array’s instance method.

> But this gave me an error  
> undefined method `display\_sd\_activities’ for #Array:0xb7416164  
> Because Array class does not have such method.

Cheers
