Hello,
I am trying to move an existing fully functional Rails application
from my laptop (Running Leopard) to my Desktop (Running Debian). I
created a new Rails application on the Debian desktop and installed
the restful_authentication plugin. I also changed the routes.db file
to include maps for users and sessions. Now, when I try to start the
WeBrick server, I get the following error:
=> Booting WEBrick…
./script/…/config/…/vendor/rails/actionpack/lib/action_controller/
routing.rb:406:in initialize_components': undefined method
first’
for :users:Symbol (NoMethodError)
from ./script/…/config/…/vendor/rails/actionpack/lib/
action_controller/routing.rb:340:in initialize' from ./script/../config/../vendor/rails/actionpack/lib/ action_controller/routing.rb:616:in
new’
from ./script/…/config/…/vendor/rails/actionpack/lib/
action_controller/routing.rb:616:in connect' from ./script/../config/../vendor/rails/actionpack/lib/ action_controller/routing.rb:645:in
named_route’
from ./script/…/config/…/vendor/rails/actionpack/lib/
action_controller/routing.rb:651:in method_missing' from ./script/../config/../config/routes.rb:3 from ./script/../config/../vendor/rails/actionpack/lib/ action_controller/routing.rb:625:in
draw’
from ./script/…/config/…/config/routes.rb:1
… 14 levels…
from ./script/…/config/…/vendor/rails/activesupport/lib/
active_support/dependencies.rb:147:in require' from ./script/../config/../vendor/rails/railties/lib/commands/ server.rb:30 from script/server:3:in
require’
from script/server:3
When I had not altered the routes.rb file, I was able to start the web
server, but clicking on “About your application’s environment” said
that it could not find rails/info/properties.
Could someone please help me out with these errors? I guess the first
one is because of what I added to routes.rb. My routes.rb file is
below:
ActionController::Routing::Routes.draw do |map|
map.resources :users
map.resource :session
map.resource :session, :controller => ‘session’
map.signup ‘/signup’, :controller => ‘users’, :action => ‘new’
map.login ‘/login’, :controller => ‘session’, :action => ‘new’
map.logout ‘/logout’, :controller => ‘session’, :action => ‘destroy’
The priority is based upon order of creation: first created ->
highest priority.
Sample of regular route:
map.connect ‘products/:id’, :controller => ‘catalog’, :action =>
‘view’
Keep in mind you can assign values other than :controller
and :action
Sample of named route:
map.purchase ‘products/:id/purchase’, :controller =>
‘catalog’, :action => ‘purchase’
This route can be invoked with purchase_url(:id => product.id)
You can have the root of your site routed by hooking up ‘’
– just remember to delete public/index.html.
map.connect ‘’, :controller => “welcome”
Allow downloading Web Service WSDL as a file with an extension
instead of a file named ‘wsdl’
map.connect ‘:controller/service.wsdl’, :action => ‘wsdl’
Install the default route as the lowest priority.
map.connect ‘:controller/:action/:id’
end
Thanks a lot!
Amrita