I''ve got the following in config\routes.rb: map.resources :users In app\views\shared\_menu.erb, I''ve got: Please sign in <%= link_to "here", :controller=>"user", :action=>"sign_in" -%> In app\controllers\users_controller.rb def sign_in end When I run the application, I crash with: Routing Error No route matches "/user/sign_in" with {:method=>:get} I presume I should add "def sign_in; [snip]; end" somewhere in: app\views\users But where, so as to satisfy the Rails routing scheme? Is sufficient information provided above to answer this question? I''m running Rails 2.3.5 Thanks in Advance, Richard -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
map.resources creates routes for the typical CRUD operations. Since you are adding an additional operation, you could revise your mapping to this: map.resources :users, :collection => {:sign_in => :get} This creates awkward route names & feels ugly as you are mucking with a resource controller''s routes. It''s probably better to do: map.sign_in "/sign_in", :controller => "users", :action => "sign_in" However, as logging in is really a session issue, rather than a user concern, it would be even better to do something like this: map.sign_in "/sign_in", :controller => "sessions", :action => "new" Then move your sign_in method from users_controller to sessions_controller You will want a file like /path_to_controller_views/sign_in.html.erb to handle it (assuming you are using erb). Replace path_to_controller_views with either /app/views/users or /app/views/sessions as appropriate. Niels On Jul 5, 2010, at 10:02 PM, RichardOnRails wrote:> I''ve got the following in config\routes.rb: > map.resources :users > > In app\views\shared\_menu.erb, I''ve got: > Please sign in <%= link_to > "here", :controller=>"user", :action=>"sign_in" -%> > > In app\controllers\users_controller.rb > def sign_in > end > > When I run the application, I crash with: > Routing Error > No route matches "/user/sign_in" with {:method=>:get} > > I presume I should add "def sign_in; [snip]; end" somewhere in: > app\views\users > > But where, so as to satisfy the Rails routing scheme? > Is sufficient information provided above to answer this question? > I''m running Rails 2.3.5 > > Thanks in Advance, > Richard > > -- > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en. >-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Hey Niels, Thank you for excellent guidance. I read about routing but it''s taking me a long time to actually internalize this stuff. Your analysis gives me hope! Best wishes, Richard On Jul 5, 10:42 pm, Niels Meersschaert <nmeersscha...-ee4meeAH724@public.gmane.org> wrote:> map.resources creates routes for the typical CRUD operations. Since you are adding an additional operation, you could revise your mapping to this: > > map.resources :users, :collection => {:sign_in => :get} > > This creates awkward route names & feels ugly as you are mucking with a resource controller''s routes. It''s probably better to do: > > map.sign_in "/sign_in", :controller => "users", :action => "sign_in" > > However, as logging in is really a session issue, rather than a user concern, it would be even better to do something like this: > > map.sign_in "/sign_in", :controller => "sessions", :action => "new" > > Then move your sign_in method from users_controller to sessions_controller > > You will want a file like /path_to_controller_views/sign_in.html.erb to handle it (assuming you are using erb). Replace path_to_controller_views with either /app/views/users or /app/views/sessions as appropriate. > > Niels > > On Jul 5, 2010, at 10:02 PM, RichardOnRails wrote: > > > I''ve got the following in config\routes.rb: > > map.resources :users > > > In app\views\shared\_menu.erb, I''ve got: > > Please sign in <%= link_to > > "here", :controller=>"user", :action=>"sign_in" -%> > > > In app\controllers\users_controller.rb > > def sign_in > > end > > > When I run the application, I crash with: > > Routing Error > > No route matches "/user/sign_in" with {:method=>:get} > > > I presume I should add "def sign_in; [snip]; end" somewhere in: > > app\views\users > > > But where, so as to satisfy the Rails routing scheme? > > Is sufficient information provided above to answer this question? > > I''m running Rails 2.3.5 > > > Thanks in Advance, > > Richard > > > -- > > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. > > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > > For more options, visit this group athttp://groups.google.com/group/rubyonrails-talk?hl=en.-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On 6 July 2010 05:39, RichardOnRails <RichardDummyMailbox58407-gP6xRNRnnqSxhq/XJNNIW0EOCMrvLtNR@public.gmane.org> wrote:> Hey Niels, > > Thank you for excellent guidance. I read about routing but it''s taking > me a long time to actually internalize this stuff. Your analysis > gives me hope!Have a look at the Rails Guide on routing. As always don''t just read it, play with a test app and try variants of the examples in the guide. That helps the ideas to sink in, at least it helps for me. Colin> > Best wishes, > Richard > > On Jul 5, 10:42 pm, Niels Meersschaert <nmeersscha...-ee4meeAH724@public.gmane.org> wrote: >> map.resources creates routes for the typical CRUD operations. Since you are adding an additional operation, you could revise your mapping to this: >> >> map.resources :users, :collection => {:sign_in => :get} >> >> This creates awkward route names & feels ugly as you are mucking with a resource controller''s routes. It''s probably better to do: >> >> map.sign_in "/sign_in", :controller => "users", :action => "sign_in" >> >> However, as logging in is really a session issue, rather than a user concern, it would be even better to do something like this: >> >> map.sign_in "/sign_in", :controller => "sessions", :action => "new" >> >> Then move your sign_in method from users_controller to sessions_controller >> >> You will want a file like /path_to_controller_views/sign_in.html.erb to handle it (assuming you are using erb). Replace path_to_controller_views with either /app/views/users or /app/views/sessions as appropriate. >> >> Niels >> >> On Jul 5, 2010, at 10:02 PM, RichardOnRails wrote: >> >> > I''ve got the following in config\routes.rb: >> > map.resources :users >> >> > In app\views\shared\_menu.erb, I''ve got: >> > Please sign in <%= link_to >> > "here", :controller=>"user", :action=>"sign_in" -%> >> >> > In app\controllers\users_controller.rb >> > def sign_in >> > end >> >> > When I run the application, I crash with: >> > Routing Error >> > No route matches "/user/sign_in" with {:method=>:get} >> >> > I presume I should add "def sign_in; [snip]; end" somewhere in: >> > app\views\users >> >> > But where, so as to satisfy the Rails routing scheme? >> > Is sufficient information provided above to answer this question? >> > I''m running Rails 2.3.5 >> >> > Thanks in Advance, >> > Richard >> >> > -- >> > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. >> > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org. >> > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >> > For more options, visit this group athttp://groups.google.com/group/rubyonrails-talk?hl=en. > > -- > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en. > >-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Hi Colin,> Have a look at the Rails Guide on routing.Good idea. I''m still stuck on that.issue. Thanks. Best wishes, Richard On Jul 6, 3:20 am, Colin Law <clan...-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:> On 6 July 2010 05:39, RichardOnRails > > <RichardDummyMailbox58...-gP6xRNRnnqSxhq/XJNNIW0EOCMrvLtNR@public.gmane.org> wrote: > > Hey Niels, > > > Thank you for excellent guidance. I read about routing but it''s taking > > me a long time to actually internalize this stuff. Your analysis > > gives me hope! > > Have a look at the Rails Guide on routing. As always don''t just read > it, play with a test app and try variants of the examples in the > guide. That helps the ideas to sink in, at least it helps for me. > > Colin > > > > > Best wishes, > > Richard > > > On Jul 5, 10:42 pm, Niels Meersschaert <nmeersscha...-ee4meeAH724@public.gmane.org> wrote: > >> map.resources creates routes for the typical CRUD operations. Since you are adding an additional operation, you could revise your mapping to this: > > >> map.resources :users, :collection => {:sign_in => :get} > > >> This creates awkward route names & feels ugly as you are mucking with a resource controller''s routes. It''s probably better to do: > > >> map.sign_in "/sign_in", :controller => "users", :action => "sign_in" > > >> However, as logging in is really a session issue, rather than a user concern, it would be even better to do something like this: > > >> map.sign_in "/sign_in", :controller => "sessions", :action => "new" > > >> Then move your sign_in method from users_controller to sessions_controller > > >> You will want a file like /path_to_controller_views/sign_in.html.erb to handle it (assuming you are using erb). Replace path_to_controller_views with either /app/views/users or /app/views/sessions as appropriate. > > >> Niels > > >> On Jul 5, 2010, at 10:02 PM, RichardOnRails wrote: > > >> > I''ve got the following in config\routes.rb: > >> > map.resources :users > > >> > In app\views\shared\_menu.erb, I''ve got: > >> > Please sign in <%= link_to > >> > "here", :controller=>"user", :action=>"sign_in" -%> > > >> > In app\controllers\users_controller.rb > >> > def sign_in > >> > end > > >> > When I run the application, I crash with: > >> > Routing Error > >> > No route matches "/user/sign_in" with {:method=>:get} > > >> > I presume I should add "def sign_in; [snip]; end" somewhere in: > >> > app\views\users > > >> > But where, so as to satisfy the Rails routing scheme? > >> > Is sufficient information provided above to answer this question? > >> > I''m running Rails 2.3.5 > > >> > Thanks in Advance, > >> > Richard > > >> > -- > >> > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. > >> > To post to this group, send email to rubyonrails-talk@googlegroups.com. > >> > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > >> > For more options, visit this group athttp://groups.google.com/group/rubyonrails-talk?hl=en. > > > -- > > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. > > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > > For more options, visit this group athttp://groups.google.com/group/rubyonrails-talk?hl=en.-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.