Accessing models in "mounted" Rails 3 app

This is the first time I'm working with Engine's in Rails, let alone in Rails 3. I basically followed these steps to set up the mountable app:

Now that the mountable app is built, I'm moving on to create the container app. In doing so, however, I am having trouble accessing the models in the mounted app.

Shop is a model I have the the mounted app, and when I try to access it in the container app, this is returned:


=> NoMethodError: undefined method `first' for Shop:Module

Strangely enough, however, 3 of the mounted app's 19 models are accessible in the container app. returns "Module" while returns "Class" (Employee is a working model in the container app).

I'm quite lost on this. Any help is greatly appreciated!

Thanks, Angelo

Okay, it looks like Rails is pulling an April Fools on me. It like 18 of the 19 models are accessible. I tried to list all the models using:

ActiveRecord::Base.send(:subclasses).each { |model| puts }

and it only returned three of the models. Accessing all the models directly (typing "Image" in the console, for example) accesses them correctly.

My Shop model, however, is still causing problems. Shop is definitely accessible in the mounted app, but acts as if it does not exist in the container app.


I think I just realized why this is happening. The container app is just a sample for testing out the mounted app, and I named it "Shop". I imagine there's some kind of conflict going on between the Shop defined in application.rb and the Shop defined in the model.

Gonna go test this now, but I think that pretty much solves this mystery.