undefined method `all' for MyModel:Module

I am in the middle of upgrading an application which is only at 2.3 to
rails 3.0 (Then to rails 3.1) Iv'e gotten the application to begin
running. And it can load some models. For example in users I can -
Query user.first. But in this model if I call MyModel.all I get a
undefined method. So I'm a bit stuck, and un sure what todo to get it
working.

app/controllers/home_controller.rb:14:in `index'
actionpack (3.0.10) lib/action_controller/metal/implicit_render.rb:
4:in `send_action'
actionpack (3.0.10) lib/abstract_controller/base.rb:150:in
`process_action'
actionpack (3.0.10) lib/action_controller/metal/rendering.rb:11:in
`process_action'
actionpack (3.0.10) lib/abstract_controller/callbacks.rb:18:in `block
in process_action'
activesupport (3.0.10) lib/active_support/callbacks.rb:451:in
`_run__3961353178525835648__process_action__2666700228330603719__callbacks'
activesupport (3.0.10) lib/active_support/callbacks.rb:410:in
`_run_process_action_callbacks'
activesupport (3.0.10) lib/active_support/callbacks.rb:94:in
`run_callbacks'
actionpack (3.0.10) lib/abstract_controller/callbacks.rb:17:in
`process_action'
actionpack (3.0.10) lib/action_controller/metal/rescue.rb:17:in
`process_action'
actionpack (3.0.10) lib/action_controller/metal/instrumentation.rb:
30:in `block in process_action'
activesupport (3.0.10) lib/active_support/notifications.rb:52:in
`block in instrument'
activesupport (3.0.10) lib/active_support/notifications/
instrumenter.rb:21:in `instrument'
activesupport (3.0.10) lib/active_support/notifications.rb:52:in
`instrument'
actionpack (3.0.10) lib/action_controller/metal/instrumentation.rb:
29:in `process_action'
actionpack (3.0.10) lib/abstract_controller/base.rb:119:in `process'
actionpack (3.0.10) lib/abstract_controller/rendering.rb:41:in
`process'
actionpack (3.0.10) lib/action_controller/metal.rb:138:in `dispatch'
actionpack (3.0.10) lib/action_controller/metal/rack_delegation.rb:
14:in `dispatch'
actionpack (3.0.10) lib/action_controller/metal.rb:178:in `block in
action'
actionpack (3.0.10) lib/action_dispatch/routing/route_set.rb:62:in
`call'
actionpack (3.0.10) lib/action_dispatch/routing/route_set.rb:62:in
`dispatch'
actionpack (3.0.10) lib/action_dispatch/routing/route_set.rb:27:in
`call'
rack-mount (0.6.14) lib/rack/mount/route_set.rb:148:in `block in call'
rack-mount (0.6.14) lib/rack/mount/code_generation.rb:93:in `block in
recognize'
rack-mount (0.6.14) lib/rack/mount/code_generation.rb:68:in
`optimized_each'
rack-mount (0.6.14) lib/rack/mount/code_generation.rb:92:in
`recognize'
rack-mount (0.6.14) lib/rack/mount/route_set.rb:139:in `call'
actionpack (3.0.10) lib/action_dispatch/routing/route_set.rb:493:in
`call'
actionpack (3.0.10) lib/action_dispatch/middleware/
best_standards_support.rb:17:in `call'
actionpack (3.0.10) lib/action_dispatch/middleware/head.rb:14:in
`call'
rack (1.2.4) lib/rack/methodoverride.rb:24:in `call'
actionpack (3.0.10) lib/action_dispatch/middleware/params_parser.rb:
21:in `call'
actionpack (3.0.10) lib/action_dispatch/middleware/flash.rb:182:in
`call'
actionpack (3.0.10) lib/action_dispatch/middleware/session/
abstract_store.rb:149:in `call'
actionpack (3.0.10) lib/action_dispatch/middleware/cookies.rb:302:in
`call'
activerecord (3.0.10) lib/active_record/query_cache.rb:32:in `block in
call'
activerecord (3.0.10) lib/active_record/connection_adapters/abstract/
query_cache.rb:28:in `cache'
activerecord (3.0.10) lib/active_record/query_cache.rb:12:in `cache'
activerecord (3.0.10) lib/active_record/query_cache.rb:31:in `call'
activerecord (3.0.10) lib/active_record/connection_adapters/abstract/
connection_pool.rb:354:in `call'
actionpack (3.0.10) lib/action_dispatch/middleware/callbacks.rb:46:in
`block in call'
activesupport (3.0.10) lib/active_support/callbacks.rb:416:in
`_run_call_callbacks'
actionpack (3.0.10) lib/action_dispatch/middleware/callbacks.rb:44:in
`call'
rack (1.2.4) lib/rack/sendfile.rb:106:in `call'
actionpack (3.0.10) lib/action_dispatch/middleware/remote_ip.rb:48:in
`call'
actionpack (3.0.10) lib/action_dispatch/middleware/show_exceptions.rb:
47:in `call'
railties (3.0.10) lib/rails/rack/logger.rb:13:in `call'
rack (1.2.4) lib/rack/runtime.rb:17:in `call'
activesupport (3.0.10) lib/active_support/cache/strategy/
local_cache.rb:72:in `call'
rack (1.2.4) lib/rack/lock.rb:11:in `block in call'
<internal:prelude>:10:in `synchronize'
rack (1.2.4) lib/rack/lock.rb:11:in `call'
actionpack (3.0.10) lib/action_dispatch/middleware/static.rb:30:in
`call'
railties (3.0.10) lib/rails/application.rb:168:in `call'
railties (3.0.10) lib/rails/application.rb:77:in `method_missing'
railties (3.0.10) lib/rails/rack/log_tailer.rb:14:in `call'
rack (1.2.4) lib/rack/content_length.rb:13:in `call'
rack (1.2.4) lib/rack/handler/webrick.rb:52:in `service'
/Users/tspore/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/
httpserver.rb:111:in `service'
/Users/tspore/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/
httpserver.rb:70:in `run'
/Users/tspore/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/
server.rb:183:in `block in start_thread'

Can someone help me here?

I am in the middle of upgrading an application which is only at 2.3 to
rails 3.0 (Then to rails 3.1) Iv'e gotten the application to begin
running. And it can load some models. For example in users I can -
Query user.first. But in this model if I call MyModel.all I get a
undefined method. So I'm a bit stuck, and un sure what todo to get it
working.

What is MyModel ? The error implies it's not actually an active record
class

Fred

Right. MyModel - would be in Theory the AR model, but it seems to be
erring out on the Helper. (Which it also has)
So for some reason I have a few of the upgraded models, which I can't
run basic querries against. But some which I can.
However, I don't see anything which would not allow those selected
models to be ran again AR queries.
class MyModel < ActiveRecord::Base
    ...........
end
module MyModelHelper
   ............
end

Right. MyModel - would be in Theory the AR model, but it seems to be
erring out on the Helper. (Which it also has)
So for some reason I have a few of the upgraded models, which I can't
run basic querries against. But some which I can.
However, I don't see anything which would not allow those selected
models to be ran again AR queries.

Is there a module call MyModel that might be shadowing your active
record class ?

Fred

What I'm thinking is that my application is called the same name as
MyModel so in Application i'm loading in module MyModel
But that is calling -
    class Application < Rails::Application .... end

But I'm not really sure how else to debug this.
Anythoughts?

What I'm thinking is that my application is called the same name as
MyModel so in Application i'm loading in module MyModel

ah, if you're defining

module MyModel
end

somewhere like that then you can't also have

class MyModel < AR:Base
end

in development mode it will just never load the AR class, in
production it would try and fail (since my model cannot be a class and
a module). You're going to have to pick non clashing names (the
application name is probably easiest to change)

Fred

Thank you very much for helping me think through this.
Its a old project, where upgrading it is going to be a couple week
process.