Hi all,
I am very very new to ruby and rails so I thought I’d follow a couple of
starter manuals.
Bellow the error I have listed versions and commands executed.
The problem I am having is that I can display:
http://acc.precognet.com/invoices/new
but when I try to display:
http://acc.precognet.com/invoices
or
http://acc.precognet.com/invoices/list
I get the following error:
NameError in InvoicesController#index
uninitialized constant Invoice
RAILS_ROOT: /var/www/acc.precognet.com/public/…/config/…
Application Trace | Framework Trace | Full Trace
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:266:in
load_missing_constant' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:452:in
const_missing’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:464:in
const_missing' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/inflector.rb:250:in
constantize’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/core_ext/string/inflections.rb:148:in
constantize' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/pagination.rb:201:in
paginator_and_collection_for’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/pagination.rb:132:in
paginate_without_deprecation' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/deprecation.rb:94:in
paginate’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/scaffolding.rb:108:in
list' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/scaffolding.rb:96:in
index’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/base.rb:1101:in
send' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/base.rb:1101:in
perform_action_without_filters’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/filters.rb:696:in
call_filters' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/filters.rb:688:in
perform_action_without_benchmark’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/benchmarking.rb:66:in
perform_action_without_rescue' /usr/lib/ruby/1.8/benchmark.rb:293:in
measure’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/benchmarking.rb:66:in
perform_action_without_rescue' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/rescue.rb:83:in
perform_action’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/base.rb:435:in
send' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/base.rb:435:in
process_without_filters’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/filters.rb:684:in
process_without_session_management_support' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/session_management.rb:114:in
process’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/base.rb:334:in
process' /usr/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/dispatcher.rb:41:in
dispatch’
/usr/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/fcgi_handler.rb:168:in
process_request' /usr/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/fcgi_handler.rb:143:in
process_each_request!’
/usr/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/fcgi_handler.rb:109:in
with_signal_handler' /usr/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/fcgi_handler.rb:142:in
process_each_request!’
/usr/lib/ruby/site_ruby/1.8/fcgi.rb:600:in each_cgi' /usr/lib/ruby/site_ruby/1.8/fcgi.rb:597:in
each’
/usr/lib/ruby/site_ruby/1.8/fcgi.rb:597:in each_cgi' /usr/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/fcgi_handler.rb:141:in
process_each_request!’
/usr/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/fcgi_handler.rb:55:in
process!' /usr/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/fcgi_handler.rb:25:in
process!’
/var/www/acc.precognet.com/public/dispatch.fcgi:24
Request
Parameters: {“invoices.html”=>nil}
Show session dump
flash: !map:ActionController::Flash::FlashHash {}
Response
Headers: {“cookie”=>[], “Cache-Control”=>“no-cache”}
I am using:
Ruby version 1.8.6 (i686-linux)
RubyGems version 0.9.4
Rails version 1.2.5
Active Record version 1.15.5
Action Pack version 1.13.5
Action Web Service version 1.2.5
Action Mailer version 1.3.5
Active Support version 1.4.4
Application root /var/www/acc.precognet.com
Environment development
Database adapter mysql
Here are all the steps I took:
cd /var/www
rails acc.precognet.com
cd acc.precognet.com/config
dev info from database.yml
development:
adapter: mysql
database: dev_precognet
username: dev
password: password
socket: /var/run/mysqld/mysqld.sock
I took an existing db, dumped it to an sql file, renamed the db to
dev_db and
reinjected into mysql.
cat /etc/apache2/vhosts.d/acc.precognet.com.conf
SetEnv RAILS_ENV development ServerName acc.precognet.com DocumentRoot /var/www/acc.precognet.com/public ServerSignature On ErrorDocument 500 /500.html ErrorLog /var/log/apache2/acc.precognet.com.error_log CustomLog /var/log/apache2/acc.precognet.com.access_log combined LogLevel warn Options ExecCGI FollowSymLinks AddHandler fcgid-script .fcgi Order allow,deny Allow from all RewriteEngine On RewriteRule ^$ index.html [QSA] RewriteRule ^([^.]+)$ $1.html [QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /dispatch.fcgi?$1 [QSA,L] AllowOverride None
/etc/init.d/apache2 restart
cd /var/www/acc.precognet.com
ruby script/generate model invoices
ruby script/generate controler invoices
cat app/controllers/invoices_controller.rb
class InvoicesController < ApplicationController
scaffold :invoices
end
chown -R apache:apache public tmp
vi public/dispatch.fcgi
RailsFCGIHandler.process!
‘/var/log/apache2/acc.precognet.com_fcgi_crash.log’
touch /var/log/apache2/acc.precognet.com_fcgi_crash.log
chown apache:apache /var/log/apache2/acc.precognet.com_fcgi_crash.log
Replace the following in public/.htaccess
#RewriteRule ^(.)$ dispatch.cgi [QSA,L]
RewriteRule ^(.)$ dispatch.fcgi [QSA,L]
Relevant SQL table dump:
– Table structure for table invoices
DROP TABLE IF EXISTS invoices
;
CREATE TABLE invoices
(
id
int(6) unsigned zerofill NOT NULL,
cli_id
int(8) unsigned zerofill NOT NULL,
sent
date NOT NULL,
amount
decimal(7,2) NOT NULL,
payed
date default NULL,
path
varchar(254) default NULL,
filename
varchar(15) default NULL,
PRIMARY KEY (id
)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT=‘Precognet
invoices table’;
I’m sorry for the long post but I have tried many times and never get
past
this step.
I hope someone can help
-Ed