Routing Error

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

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

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

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.