NameError in CustomersController#index

I’m new to Rails. I finished the Cookbook tut. no problem. I’m
trying to start a project of my own, follow the same instructions but
the difference is I created the database myself.
After I create the scaffolds and try them out I get this error

NameError in CustomersController#index

uninitialized constant Customer

RAILS_ROOT: ./script/…/config/…
Application Trace | Framework Trace | Full Trace

D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:266:in load_missing_constant' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/ active_support/dependencies.rb:452:inconst_missing’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:464:in const_missing' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/ active_support/inflector.rb:250:inconstantize’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/core_ext/string/inflections.rb:148:in constantize' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/pagination.rb:195:inpaginator_and_collection_for’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/pagination.rb:130:in paginate' #{RAILS_ROOT}/app/controllers/customers_controller.rb:12:inlist’
#{RAILS_ROOT}/app/controllers/customers_controller.rb:3:in index' -e:4:inload’
-e:4

D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:266:in load_missing_constant' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/ active_support/dependencies.rb:452:inconst_missing’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:464:in const_missing' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/ active_support/inflector.rb:250:inconstantize’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/core_ext/string/inflections.rb:148:in constantize' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/pagination.rb:195:inpaginator_and_collection_for’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/pagination.rb:130:in paginate' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/base.rb:1095:insend’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/base.rb:1095:in perform_action_without_filters' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/filters.rb:632:incall_filter’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/filters.rb:634:in call_filter' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/filters.rb:619:inperform_action_without_benchmark’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/benchmarking.rb:66:in
perform_action_without_rescue' D:/InstantRails/ruby/lib/ruby/1.8/benchmark.rb:293:inmeasure’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/benchmarking.rb:66:in
perform_action_without_rescue' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/rescue.rb:83:inperform_action’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/base.rb:430:in send' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/base.rb:430:inprocess_without_filters’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/filters.rb:624:in
process_without_session_management_support' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/session_management.rb:114:inprocess’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/base.rb:330:in process' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/ dispatcher.rb:41:indispatch’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/
mongrel/rails.rb:78:in process' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel/rails.rb:76:insynchronize’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/
mongrel/rails.rb:76:in process' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel.rb:618:inprocess_client’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/
mongrel.rb:617:in each' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel.rb:617:inprocess_client’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/
mongrel.rb:736:in run' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel.rb:736:ininitialize’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/
mongrel.rb:736:in new' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel.rb:736:inrun’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/
mongrel.rb:720:in initialize' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel.rb:720:innew’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/
mongrel.rb:720:in run' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel/configurator.rb:271:inrun’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/
mongrel/configurator.rb:270:in each' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel/configurator.rb:270:inrun’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/bin/
mongrel_rails:127:in run' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel/command.rb:211:inrun’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/bin/
mongrel_rails:243
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:488:in load' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/ active_support/dependencies.rb:488:inload’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:342:in new_constants_in' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/ active_support/dependencies.rb:488:inload’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/commands/
servers/mongrel.rb:60
D:/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
27:in gem_original_require' D:/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: 27:inrequire’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:495:in require' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/ active_support/dependencies.rb:342:innew_constants_in’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:495:in require' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/commands/ server.rb:39 D:/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: 27:ingem_original_require’
D:/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
27:in `require’
script/server:3

D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:266:in load_missing_constant' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/ active_support/dependencies.rb:452:inconst_missing’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:464:in const_missing' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/ active_support/inflector.rb:250:inconstantize’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/core_ext/string/inflections.rb:148:in constantize' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/pagination.rb:195:inpaginator_and_collection_for’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/pagination.rb:130:in paginate' #{RAILS_ROOT}/app/controllers/customers_controller.rb:12:inlist’
#{RAILS_ROOT}/app/controllers/customers_controller.rb:3:in index' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/base.rb:1095:insend’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/base.rb:1095:in perform_action_without_filters' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/filters.rb:632:incall_filter’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/filters.rb:634:in call_filter' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/filters.rb:619:inperform_action_without_benchmark’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/benchmarking.rb:66:in
perform_action_without_rescue' D:/InstantRails/ruby/lib/ruby/1.8/benchmark.rb:293:inmeasure’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/benchmarking.rb:66:in
perform_action_without_rescue' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/rescue.rb:83:inperform_action’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/base.rb:430:in send' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/base.rb:430:inprocess_without_filters’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/filters.rb:624:in
process_without_session_management_support' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/session_management.rb:114:inprocess’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/base.rb:330:in process' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/ dispatcher.rb:41:indispatch’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/
mongrel/rails.rb:78:in process' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel/rails.rb:76:insynchronize’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/
mongrel/rails.rb:76:in process' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel.rb:618:inprocess_client’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/
mongrel.rb:617:in each' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel.rb:617:inprocess_client’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/
mongrel.rb:736:in run' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel.rb:736:ininitialize’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/
mongrel.rb:736:in new' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel.rb:736:inrun’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/
mongrel.rb:720:in initialize' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel.rb:720:innew’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/
mongrel.rb:720:in run' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel/configurator.rb:271:inrun’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/
mongrel/configurator.rb:270:in each' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel/configurator.rb:270:inrun’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/bin/
mongrel_rails:127:in run' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/lib/ mongrel/command.rb:211:inrun’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1-mswin32/bin/
mongrel_rails:243
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:488:in load' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/ active_support/dependencies.rb:488:inload’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:342:in new_constants_in' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/ active_support/dependencies.rb:488:inload’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/commands/
servers/mongrel.rb:60
D:/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
27:in gem_original_require' D:/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: 27:inrequire’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:495:in require' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/ active_support/dependencies.rb:342:innew_constants_in’
D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:495:in require' D:/InstantRails/ruby/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/commands/ server.rb:39 D:/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: 27:ingem_original_require’
D:/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
27:in require' script/server:3 -e:4:inload’
-e:4

Request

Parameters: None

Show session dump


flash: !map:ActionController::Flash::FlashHash {}

Response
Headers: {“cookie”=>[], “Cache-Control”=>“no-cache”}

any ideas would be apreciated

It’s kind of hard to guess with absolutely no code.
Do you have a file in app/models called customer.rb which contains
the definition of the Customer class?

Fred

Sorry, Like I said i’m pretty new at this.
The files are there but they were empty. I put a “has_many :leases”
to the customer.rb. After doing that I restarted my mongrel server
and get the same error.
All the code in the app is just from running “ruby script\generate
customer customer” the the customer database looks like this:
create_table “customers”, :id => false, :force => true do |t|
t.column “CustID”, :integer, :limit => 10, :null => false
t.column “CustFirst”, :string, :limit => 20
t.column “CustLast”, :string, :limit => 30
t.column “CustCo”, :string, :limit => 50
t.column “CustAddr”, :string, :limit => 50
t.column “CustCity”, :string, :limit => 20
t.column “CustPO”, :string, :limit => 7
end

On Oct 24, 1:33 pm, Frederick C. [email protected]

On 10/24/07, AcidoCitrico [email protected] wrote:

Sorry, Like I said i’m pretty new at this.
The files are there but they were empty. I put a “has_many :leases”
to the customer.rb. After doing that I restarted my mongrel server
and get the same error.
All the code in the app is just from running “ruby script\generate
customer customer” the the customer database looks like this:

Doesn’t make sense. There is no “customer” generator.

You should be doing:

ruby script/generate model customer

which will create several things, including a migration in db/migrate
to create the table and a model in app/models/customer.rb (also
creates a unit test and test fixture file).

The app/models/customer.rb needs to contain a model class:

class Customer < ActiveRecord::Base
has_many :leases
end

This declaration assumes a bunch of things:

  • you have a table called “customers”

  • you have another table called “leases” with a “customer_id” integer
    column

  • you have a model file called app/models/lease.rb, which declares:

    class Lease < ActiveRecord::Base
    belongs_to :customer # not required, but customary
    end

If you’re starting an app from scratch, use the generators. They
ensure that everything is created correctly.

sorry I missed the generator on that last e-mail. What I typed to
generate my app was
“ruby script\generate scaffold customers customers” because I created
the database first that way it created my controllers & stuff.

I started from scratch again and run
“ruby script\generate scaffold customers customers”
I run
“ruby script/generate model customers” too just in case I needed it.
I added to customers.rb:
set_primary_key ‘CustID’
has_many :leases
and to leases.rb:
belongs_to :customer
I still get the same error

On 24 Oct 2007, at 22:11, AcidoCitrico wrote:

“ruby script/generate model customers” too just in case I needed it.
I added to customers.rb:
set_primary_key ‘CustID’
has_many :leases
and to leases.rb:
belongs_to :customer
I still get the same error

It’s expecting a customer model (in a customer.rb file), since you’ve
said belongs_to :customer, but instead you’ve created a customers
model, in customers.rb

Fred

On 10/24/07, AcidoCitrico [email protected] wrote:

…the customer database looks like this:
create_table “customers”, :id => false, :force => true do |t|
t.column “CustID”, :integer, :limit => 10, :null => false

Oh, I missed that. So you also need to tell Rails that your id column
is non-standard:

class Customer < ActiveRecord::Base
set_primary_key ‘CustID’

end

I just missed the ‘s’, in my code is says
belongs_to:customers
Thanks for the help

On Oct 25, 1:40 am, Frederick C. [email protected]