Using a model in a library


I’m trying to verify that a parameter is an instance of a specific
class in Rails:

def schedule(action, *args)
if arg.is_a? Aircraft


I’m doing this in a library class (the file is in lib/) and I get an
uninitialized constant Aircraft error. Aircraft is a model class, with
a corresponding aircraft.rb file in app/models.

Can I use model classes and instances in a library? How?


How and where are you executing the code in this lib from, rake task,
script/console, etc.?

On Nov 28, 12:10 pm, Christian L. [email protected]

Thanks for your answer: I tried to run the app in the browser: it
So it doesn’t work in RSpec. I didn’t try the code in the browser at
first as I’m trying to do TDD. Still stuck there, though.


Sounds like you just need a line like this in the top of the lib file:

require ‘app/models/aircraft’

If its already loaded (ie: running script/server) nothing will change,
but if its not already loaded (I don’t use RSpec, but it sounds like
its not autoloading classes) this should fix it. You might need to
play with the path and do something like this:

require File.dirname(FILE)+’/…/app/models/aircraft’

On Nov 29, 7:45 am, Christian L. [email protected]

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