Undefined method error


#1

Hi everybody,

Small problem. I get this error:

undefined method `all_categories’ for BlogCategory:Class

Code of BlogCategory class is:

class BlogCategory < ActiveRecord::Base

has_and_belongs_to_many :blog_posts

validates_presence_of :name
validates_uniqueness_of :name

Return all categories ordered by name

def all_categories
find :all, :order => ‘name’
end;

end

I call this function from FrontendController with simple:

@all_categories = BlogCategory.all_categories

As far as I can see there IS an all_categories method in BlogCategory
class, but from some reason I can’t access it in controller.

Any ideas? I’m totally new to Ruby so I don’t know where to start (tried
google, but with no luck).


#2

Ilija Studen wrote:

Hi everybody,

Small problem. I get this error:

undefined method `all_categories’ for BlogCategory:Class

def all_categories
find :all, :order => ‘name’
end;

@all_categories = BlogCategory.all_categories

find is a class method.

do

def all_categories
BlogCategory.find :all, :order => ‘name’
end;


#3

Hi,

Updated the code with:

def all_categories
BlogCategory.find(:all, :order => ‘name’)
end

I still get the same error…


#4

Lugovoi N. wrote:

def self.all_categories
BlogCategory.find(:all, :order => ‘name’)
end

yes…


#5

def self.all_categories
BlogCategory.find(:all, :order => ‘name’)
end


#6

Lugovoi N. wrote:

def self.all_categories
BlogCategory.find(:all, :order => ‘name’)
end

That’s it. Thanks :slight_smile: