# NameError in AdminController#index building scaffold

**URL:** <https://www.ruby-forum.com/t/nameerror-in-admincontroller-index-building-scaffold/65312>\
**Category:** Rails\
**Created:** [August 17, 2006, 2:37pm UTC](https://www.ruby-forum.com/t/nameerror-in-admincontroller-index-building-scaffold/65312 "2006-08-17T14:37:58Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![jameslabocki](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ad7895/32.png) [@jameslabocki](https://www.ruby-forum.com/u/jameslabocki)\
**Post date:** [August 17, 2006, 2:37pm UTC](https://www.ruby-forum.com/t/nameerror-in-admincontroller-index-building-scaffold/65312/1 "2006-08-17T14:37:58Z")

</div>

I’m a pretty big newbie with ROR, but when following a tutorial I  
encounter an ugly error when building a scaffold. Here is my  
environment

Dev system:

- Windows XP
- java version “1.5.0\_06”
- MySQL java version “1.5.0\_06”
- Ruby 1.8.4
- Ruby Gems 0.9.0
- Gem install mysql  
Successfully installed mysql-2.7.1-mswin32  
Installing ri documentation for mysql-2.7.1-mswin32…  
Installing RDoc documentation for mysql-2.7.1-mswin32…
- Table in ediweb database  
mysql\> desc users;  
±---------------±------------±-----±----±--------±---------------+  
| Field | Type | Null | Key | Default | Extra |  
±---------------±------------±-----±----±--------±---------------+  
| user\_id | int(11) | NO | PRI | NULL | auto\_increment |  
| user\_login | varchar(50) | NO | | | |  
| user\_firstname | varchar(50) | NO | | | |  
| user\_lastname | varchar(50) | NO | | | |  
| user\_role | varchar(50) | NO | | | |  
±---------------±------------±-----±----±--------±---------------+  
5 rows in set (0.18 sec)

I am also connecting to Subversion on a linux system as my Repo.

When I start my server I am able to view several other controllers. I  
stop my server and create a scaffold in RadRails.

ediweb\> ruby script/generate scaffold Users Admin  
exists app/controllers/  
exists app/helpers/  
exists app/views/admin  
exists test/functional/  
dependency model  
exists app/models/  
exists test/unit/  
exists test/fixtures/  
create app/models/users.rb  
create test/unit/users\_test.rb  
create test/fixtures/users.yml  
identical app/views/admin/\_form.rhtml  
create app/views/admin/list.rhtml  
create app/views/admin/show.rhtml  
create app/views/admin/new.rhtml  
create app/views/admin/edit.rhtml  
create app/controllers/admin\_controller.rb  
create test/functional/admin\_controller\_test.rb  
create app/helpers/admin\_helper.rb  
create app/views/layouts/admin.rhtml  
create public/stylesheets/scaffold.css

Looks like no problem, but then I check the page:

NameError in AdminController#index

uninitialized constant User

RAILS\_ROOT: ./script/…/config/…  
Application Trace | Framework Trace | Full Trace

D:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active\_support/dependencies.rb:123:in  
`const_missing' D:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:131:in`const\_missing’  
D:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active\_support/inflector.rb:161:in  
`constantize' D:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/core_ext/string/inflections.rb:59:in`constantize’  
D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action\_controller/pagination.rb:194:in  
`paginator_and_collection_for' D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/pagination.rb:129:in`paginate’  
#{RAILS\_ROOT}/app/controllers/admin\_controller.rb:12:in `list' #{RAILS_ROOT}/app/controllers/admin_controller.rb:3:in`index’  
-e:4

D:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active\_support/dependencies.rb:123:in  
`const_missing' D:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:131:in`const\_missing’  
D:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active\_support/inflector.rb:161:in  
`constantize' D:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/core_ext/string/inflections.rb:59:in`constantize’  
D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action\_controller/pagination.rb:194:in  
`paginator_and_collection_for' D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/pagination.rb:129:in`paginate’  
D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action\_controller/base.rb:941:in  
`perform_action_without_filters' D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:368:in`perform\_action\_without\_benchmark’  
D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action\_controller/benchmarking.rb:69:in  
`perform_action_without_rescue' D:/ruby/lib/ruby/1.8/benchmark.rb:293:in`measure’  
D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action\_controller/benchmarking.rb:69:in  
`perform_action_without_rescue' D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/rescue.rb:82:in`perform\_action’  
D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action\_controller/base.rb:408:in  
`process_without_filters' D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:377:in`process\_without\_session\_management\_support’  
D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action\_controller/session\_management.rb:117:in  
`process' D:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/dispatcher.rb:38:in`dispatch’  
D:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick\_server.rb:115:in  
`handle_dispatch' D:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:81:in`service’  
D:/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' D:/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in`run’  
D:/ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' D:/ruby/lib/ruby/1.8/webrick/server.rb:162:in`start\_thread’  
D:/ruby/lib/ruby/1.8/webrick/server.rb:95:in `start' D:/ruby/lib/ruby/1.8/webrick/server.rb:92:in`start’  
D:/ruby/lib/ruby/1.8/webrick/server.rb:23:in `start' D:/ruby/lib/ruby/1.8/webrick/server.rb:82:in`start’  
D:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick\_server.rb:67:in  
`dispatch' D:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/commands/servers/webrick.rb:59 D:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in`require’  
D:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active\_support/dependencies.rb:147:in  
`require' D:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/commands/server.rb:30 D:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in`require’  
D:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active\_support/dependencies.rb:147:in  
`require’  
script/server:3

D:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active\_support/dependencies.rb:123:in  
`const_missing' D:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:131:in`const\_missing’  
D:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active\_support/inflector.rb:161:in  
`constantize' D:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/core_ext/string/inflections.rb:59:in`constantize’  
D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action\_controller/pagination.rb:194:in  
`paginator_and_collection_for' D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/pagination.rb:129:in`paginate’  
#{RAILS\_ROOT}/app/controllers/admin\_controller.rb:12:in `list' #{RAILS_ROOT}/app/controllers/admin_controller.rb:3:in`index’  
D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action\_controller/base.rb:941:in  
`perform_action_without_filters' D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:368:in`perform\_action\_without\_benchmark’  
D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action\_controller/benchmarking.rb:69:in  
`perform_action_without_rescue' D:/ruby/lib/ruby/1.8/benchmark.rb:293:in`measure’  
D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action\_controller/benchmarking.rb:69:in  
`perform_action_without_rescue' D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/rescue.rb:82:in`perform\_action’  
D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action\_controller/base.rb:408:in  
`process_without_filters' D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:377:in`process\_without\_session\_management\_support’  
D:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action\_controller/session\_management.rb:117:in  
`process' D:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/dispatcher.rb:38:in`dispatch’  
D:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick\_server.rb:115:in  
`handle_dispatch' D:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:81:in`service’  
D:/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' D:/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in`run’  
D:/ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' D:/ruby/lib/ruby/1.8/webrick/server.rb:162:in`start\_thread’  
D:/ruby/lib/ruby/1.8/webrick/server.rb:95:in `start' D:/ruby/lib/ruby/1.8/webrick/server.rb:92:in`start’  
D:/ruby/lib/ruby/1.8/webrick/server.rb:23:in `start' D:/ruby/lib/ruby/1.8/webrick/server.rb:82:in`start’  
D:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick\_server.rb:67:in  
`dispatch' D:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/commands/servers/webrick.rb:59 D:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in`require’  
D:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active\_support/dependencies.rb:147:in  
`require' D:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/commands/server.rb:30 D:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in`require’  
D:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active\_support/dependencies.rb:147:in  
`require’  
script/server:3  
-e:4

This error occured while loading the following files:  
user.rb

Request

Parameters: None

Show session dump

* * *

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

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

I have tried building the scaffold with users and admin instead of Users  
and Admin, but it’s still not working! Also, I verified MySQL  
connectivity from ruby server to the database by doing the following:

ActiveRecord::Base.connection.select\_all(‘desc users’)  
=\> [{“Extra”=\>“auto\_increment”, “Default”=\>nil, “Null”=\>“NO”,  
“Type”=\>“int(11)”, “Field”=\>“user\_id”, “Key”=\>“PRI”}, {“Extra”=\>"",  
“Default”=\>"", “Null”=\>“NO”, “Type”=\>“varchar(50)”,  
“Field”=\>“user\_login”, “Key”=\>""}, {“Extra”=\>"", “Default”=\>"",  
“Null”=\>“NO”, “Type”=\>“varchar(50)”, “Field”=\>“user\_firstname”,  
“Key”=\>""}, {“Extra”=\>"", “Default”=\>"", “Null”=\>“NO”,  
“Type”=\>“varchar(50)”, “Field”=\>“user\_lastname”, “Key”=\>""},  
{“Extra”=\>"", “Default”=\>"", “Null”=\>“NO”, “Type”=\>“varchar(50)”,  
“Field”=\>“user\_role”, “Key”=\>""}]

> > ActiveRecord::Base.connection.select\_all(‘select \* from users’)  
> > ActiveRecord::Base.connection.select\_all(‘select \* from users’)  
> > =\> []

My question is I do have one record in the table but the ‘select \*’  
query doesn’t come back with nothing. Any help would be appreciated! 🙂

Thanks  
James

---

<div class="post-metadata">

**Author:** ![jameslabocki](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ad7895/32.png) [@jameslabocki](https://www.ruby-forum.com/u/jameslabocki)\
**Post date:** [August 17, 2006, 2:46pm UTC](https://www.ruby-forum.com/t/nameerror-in-admincontroller-index-building-scaffold/65312/2 "2006-08-17T14:46:42Z")

</div>

One more note, I didn’t have any records in the database! When I  
inserted some I am still able to connect through the development console  
– but still gettig the same error from the [http://localhost:3000/admin](http://localhost:3000/admin)  
— any ideas?

> > ActiveRecord::Base.connection.select\_all(‘select\* from users’)  
> > ActiveRecord::Base.connection.select\_all(‘select\* from users’)  
> > =\> [{“user\_login”=\>“jsmith”, “user\_firstname”=\>“joe”, “user\_id”=\>“1”,  
> > “user\_role”=\>“admin”, “user\_lastname”=\>“smith”},  
> > {“user\_login”=\>“bsmith”, “user\_firstname”=\>“bob”, “user\_id”=\>“2”,  
> > “user\_role”=\>“user”, “user\_lastname”=\>“smith”}]

---

<div class="post-metadata">

**Author:** ![jameslabocki](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ad7895/32.png) [@jameslabocki](https://www.ruby-forum.com/u/jameslabocki)\
**Post date:** [August 17, 2006, 2:38pm UTC](https://www.ruby-forum.com/t/nameerror-in-admincontroller-index-building-scaffold/65312/3 "2006-08-17T14:38:54Z")

</div>

I forgot by database.yml has the following for the dev environment:

development:  
adapter: mysql  
database: ediweb  
username: root  
password: \*\*\*\*\*\*\*\*  
host: localhost

---

<div class="post-metadata">

**Author:** ![jameslabocki](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ad7895/32.png) [@jameslabocki](https://www.ruby-forum.com/u/jameslabocki)\
**Post date:** [August 17, 2006, 2:54pm UTC](https://www.ruby-forum.com/t/nameerror-in-admincontroller-index-building-scaffold/65312/4 "2006-08-17T14:54:17Z")

</div>

Also, my model users.rb:

class Users \< ActiveRecord::Base  
end

---

<div class="post-metadata">

**Author:** ![jameslabocki](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ad7895/32.png) [@jameslabocki](https://www.ruby-forum.com/u/jameslabocki)\
**Post date:** [August 17, 2006, 3:11pm UTC](https://www.ruby-forum.com/t/nameerror-in-admincontroller-index-building-scaffold/65312/5 "2006-08-17T15:11:44Z")

</div>

I was able to solve my own problem. I generated the scaffold using  
‘ruby script/generate scaffold user Admin’

ediweb\> ruby script/generate scaffold user Admin  
exists app/controllers/  
exists app/helpers/  
exists app/views/admin  
exists test/functional/  
dependency model  
exists app/models/  
exists test/unit/  
exists test/fixtures/  
create app/models/user.rb  
create test/unit/user\_test.rb  
create test/fixtures/users.yml  
create app/views/admin/\_form.rhtml  
create app/views/admin/list.rhtml  
create app/views/admin/show.rhtml  
create app/views/admin/new.rhtml  
create app/views/admin/edit.rhtml  
create app/controllers/admin\_controller.rb  
create test/functional/admin\_controller\_test.rb  
create app/helpers/admin\_helper.rb  
create app/views/layouts/admin.rhtml  
create public/stylesheets/scaffold.css

How did ruby know that my database table was ‘users’ when I generated  
the scaffold as ‘user’? I’m sorry if this is a dumb question 🙂

---

<div class="post-metadata">

**Author:** ![jameslabocki](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ad7895/32.png) [@jameslabocki](https://www.ruby-forum.com/u/jameslabocki)\
**Post date:** [August 17, 2006, 4:20pm UTC](https://www.ruby-forum.com/t/nameerror-in-admincontroller-index-building-scaffold/65312/6 "2006-08-17T16:20:24Z")

</div>

Unless you change it, it always looks for the plural form of the  
model as the table… so a “person” model would have a “people” table,  
“cat” model would have “cats” table, etc. This is pretty basic and  
covered in “Agile Web D. in Rails” as well as a lot of  
online tutorials.

---

<div class="post-metadata">

**Author:** ![jameslabocki](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ad7895/32.png) [@jameslabocki](https://www.ruby-forum.com/u/jameslabocki)\
**Post date:** [August 18, 2006, 1:45pm UTC](https://www.ruby-forum.com/t/nameerror-in-admincontroller-index-building-scaffold/65312/7 "2006-08-18T13:45:05Z")

</div>

I figured it out – I had to remove the mysql gem.

gem uninstall mysql

Everything worked after that!
