I made a button using "<%= button_to "New", :action => "click" %>" and have a method in controller as: def click end In app/view/posts/click.html.erb file holds simple hello message.In router.rb ,i added a route to click action of controller as but error is there when i click the button it gives the routing error. No route matches "/posts/click" Router.rb file looks like: Check::Application.routes.draw do get "posts/index" resources :posts do end get ''posts/click'' # The priority is based upon order of creation: # first created -> highest priority. # Sample of regular route: # match ''products/:id'' => ''catalog#view'' # Keep in mind you can assign values other than :controller and :action # Sample of named route: # match ''products/:id/purchase'' => ''catalog#purchase'', :as => :purchase # This route can be invoked with purchase_url(:id => product.id) # Sample resource route (maps HTTP verbs to controller actions automatically): # resources :products # Sample resource rwith_user/:uoute with options: # resources :products do # member do # get ''short'' # post ''toggle'' # end # # collection do # get ''sold'' # end # end # Sample resource route with sub-resources: # resources :products do # resources :comments, :sales # resource :seller # end # Sample resource rwith_user/:uoute with more complex sub-resources # resources :products do # resources :comments # resources :sales do # get ''recent'', :on => :collection # end # end # Sample resource route within a namespace: # namespace :admin do # # Directs /admin/products/* to Admin::ProductsController # # (app/controllers/admin/products_controller.rb) # resources :products # end # You can have the root of your site routed with "root" # just remember to delete public/index.html. # root :to => "welcome#index" # See how all your routes lay out with "rake routes" # This is a legacy wild controller route that''s not recommended for RESTful applications. # Note: This route will make all actions in every controller accessible via GET requests. # match '':controller(/:action(/:id(.:format)))'' end John No route matches {:controller=>"posts", :action=>"click"}. John -- 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.
By default, the HTTP verb for button_to is POST. If you really want to make the request as a GET, you need to do it as: button_to "New", :action => "click", :method => :get On Sat, May 28, 2011 at 12:24 PM, John <johnsshelfer-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> I made a button using "<%= button_to "New", :action => "click" %>" and have > a method in controller as: > def click > end > In app/view/posts/click.html.erb file holds simple > hello message.In router.rb ,i added a route to click action of controller > as but error is there when i click the button it gives the routing error. > > No route matches "/posts/click" > Router.rb file looks like: > Check::Application.routes.draw do > get "posts/index" > resources :posts do > > end > get ''posts/click'' > > # The priority is based upon order of creation: > # first created -> highest priority. > > # Sample of regular route: > # match ''products/:id'' => ''catalog#view'' > # Keep in mind you can assign values other than :controller and :action > > # Sample of named route: > # match ''products/:id/purchase'' => ''catalog#purchase'', :as => :purchase > # This route can be invoked with purchase_url(:id => product.id) > > # Sample resource route (maps HTTP verbs to controller actions > automatically): > # resources :products > > # Sample resource rwith_user/:uoute with options: > # resources :products do > # member do > # get ''short'' > # post ''toggle'' > # end > # > # collection do > # get ''sold'' > # end > # end > > # Sample resource route with sub-resources: > # resources :products do > # resources :comments, :sales > # resource :seller > # end > > # Sample resource rwith_user/:uoute with more complex sub-resources > # resources :products do > # resources :comments > # resources :sales do > # get ''recent'', :on => :collection > # end > # end > > # Sample resource route within a namespace: > # namespace :admin do > # # Directs /admin/products/* to Admin::ProductsController > # # (app/controllers/admin/products_controller.rb) > # resources :products > # end > > # You can have the root of your site routed with "root" > # just remember to delete public/index.html. > # root :to => "welcome#index" > > # See how all your routes lay out with "rake routes" > > # This is a legacy wild controller route that''s not recommended for > RESTful applications. > # Note: This route will make all actions in every controller accessible > via GET requests. > # match '':controller(/:action(/:id(.:format)))'' > end > > John > > > No route matches {:controller=>"posts", > :action=>"click"}. > > John > > -- > 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.
On Sat, May 28, 2011 at 7:25 AM, Chris Kottom <chris-kMviOf/NVQxZWXO/OqhO/A@public.gmane.org> wrote:> By default, the HTTP verb for button_to is POST. If you really want to > make the request as a GET, you need to do it as: > > button_to "New", :action => "click", :method => :get > > > Well.I did it but failed.Same error persists. > <%= button_to "New", :action => "click",:method => :get %> > > John > >-- 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.
Head is spinning from trying to keep up with the various threads and email aliases that seem to be trying to solve the same problem. From what I see, you''ve got a mess in your routes file. According to the code you posted to this thread, you''ve got a resource defined plus two non-resourceful routes, one of which seems to be trying to overlap with your resource and one of which should be defined as an additional resourceful route on the resource. Now you have: get "posts/index" resources :posts do end get ''posts/click'' I think you''re probably trying to get to this: resources :posts do get ''click'', :on => :member end I don''t know what the click action is supposed to be doing, but you may need to replace :member with :collection if the method acts on all posts instead of a single one. If that doesn''t help, you''re going to need to be more specific and attach log snippet and output from rake routes. On Sat, May 28, 2011 at 2:50 PM, john shelfer <johnsshelfer-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>wrote:> > > On Sat, May 28, 2011 at 7:25 AM, Chris Kottom <chris-kMviOf/NVQxZWXO/OqhO/A@public.gmane.org>wrote: > >> By default, the HTTP verb for button_to is POST. If you really want to >> make the request as a GET, you need to do it as: >> >> button_to "New", :action => "click", :method => :get >> >> >> Well.I did it but failed.Same error persists. >> <%= button_to "New", :action => "click",:method => :get %> >> >> John >> >> > -- > 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.