Model Methods

I would like to write a few custom methods for my model, but keep
getting an error saying the method is not defined for the model (playing
in the console).

For example, I have a product model, and I want a method called stocked?
that will return ‘yes’ or ‘no’ depending on an in_stock boolean field
for the model:

class Product < ActiveRecord::Base
def self.stocked?
self.in_stock ? ‘yes’ : ‘no’
end
end

How would I fix this?..

don’t think you need the ‘self’ after def.

On Tue, Jan 13, 2009 at 9:37 AM, sa 125
[email protected]wrote:


For example, I have a product model, and I want a method called stocked?
that will return ‘yes’ or ‘no’ depending on an in_stock boolean field
for the model:

class Product < ActiveRecord::Base
def self.stocked?
self.in_stock ? ‘yes’ : ‘no’
end
end

That method should be an instance method instead of a class method,
since
you want to be able to ask each product whether it’s stocked.

Regards,
Craig

Yup, no “self” needed since it’s an instance method:

class Product < ActiveRecord::Base
def stocked?
self.in_stock ? ‘yes’ : ‘no’
end
end

works great - thanks.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs