No route matches [POST]

Hi, I’m new in RoR, I need some help in the following situation:

I have 2 controllers, clinica and consultas.

Clinica is my default controller.

On /views/clinica, I have the index.html.erb default of my aplication, and I have there the command:

<%= button_to “Read More”, new_consulta_path, :class=>“icon icon-arrow-right button”, %>

on the routes.rb I have:

Clinica::Application.routes.draw do

resources :clinica

resources :consultas

on /views/consultas/new.html.erb I have a form, if I write the URL “http://localhost:3000/consultas/new” I get the form without problems.

The problem here is that when I click on the button “Read More” (on the index default of my application on Clinica) I get the error “No route matches [POST] “/consultas/new””. I can’t understand what is the mistake I’m doing.

Does anyone know what is happening?

Any help is welcome!

Thank you,

Rita Ferreira

on the routes.rb I have:

Clinica::Application.routes.draw do

resources :clinica

resources :consultas

on /views/consultas/new.html.erb I have a form, if I write the URL “http://localhost:3000/consultas/new” I get the form without problems.

The problem here is that when I click on the button “Read More” (on the index default of my application on Clinica) I get the error “No route matches [POST] “/consultas/new””. I can’t understand what is the mistake I’m doing.

button_to does a post request by default. if you add a :method => :get option to it then it should work

Fred

Hi, I'm new in RoR, I need some help in the following situation:

Hi, Rita, welcome!

I have 2 controllers, clinica and consultas. Clinica is my default controller.

On /views/clinica, I have the index.html.erb default of my aplication, and I have there the command:

<%= button_to "Read More", new_consulta_path, :class=>"icon icon-arrow-right button", %>

The issue here is that button_to automatically generates a form with a submit button. The default method for forms in "POST" (which is why you're seeing that in the routing error below.

Take a look at the page source for this view to see what is being generated.

The docs for button_to are at: ActionView::Helpers::UrlHelper

You can change the method used by passing in the :method => :get option on that call. The other thing you might look at is using link_to instead of button_to, and making it look like a button with css classes. (It looks like you're using twitter bootstrap, which does this pretty easily.)

Hi Fred, Thanks a lot, it worked :slight_smile:

Sexta-feira, 23 de Agosto de 2013 18:48:28 UTC+1, Frederick Cheung escreveu:

Hi tamouse, I tried it with button_to with the ‘tag’ :method => :get and I got no error!

Then I decided to use link_to and I got success too!

Thank you veryyyy much :slight_smile:

Sexta-feira, 23 de Agosto de 2013 19:17:40 UTC+1, tamouse escreveu: