views:

158

answers:

1

I have a simple standalone model that doesn't inherit from ActiveRecord or anything else, called SmsSender. As the name suggests, it delivers text messages to an SMS gateway.

I also have an ActiveRecord model called SmsMessage which has an instance method called deliver:

def deliver
  SmsSender.deliver_message(self)
  self.update_attributes :status => "Sent"
end

The above is returning uninitialized constant SmsSender. I'm sure this is dead simple, but how can I access the SmsSender class from within my model?

A: 

Mabe ruby looks for SmsSender inside the current class.
Try to use the (global) scope resolution operator :: like this:

def deliver
  ::SmsSender.deliver_message(self)
  self.update_attributes :status => "Sent"
end

Also make sure the file for SmsSender is included (via one of: require, load etc)

clyfe