2012-05-03 2 views
0

У меня возникли проблемы с получением представления и контроллера, чтобы играть вместе. Я думаю, что я испортил свою маршрутизацию, любая помощь будет отличной.Rails3 form_tag ошибка маршрутизации

Мой контроллер выглядит следующим образом:

class AccountDetailsController < ApplicationController 

    def new 
     puts "in new" 
    end 

    def home 
     puts "in home" 
    end 
end 

Мой routes.rb выглядит следующим образом:

resources :account_details 

Мой new.html.erb выглядит следующим образом:

<h1>AccountDetails#new</h1> 
<%= form_tag(url_for(:controller => "account_details", :action => "new"), :method => "post") do %> 
    <%= label_tag(:q, "Search for:") %> 
    <%= text_field_tag(:q) %> 
    <%= submit_tag("Submit") %> 
<% end %> 

когда я Гото http://localhost:3000/account_details/new Я получаю свою страницу, и когда я попал в submit, я получаю эту ошибку:

работы POST "/ account_details/новый" для 0: 0: 0: 0: 0: 0: 0: 1% 0 в Ср 2 мая 22:38:10 -0400 2012

ActionController :: RoutingError (Нет совпадений маршрута [POST] "/ account_details/new"):

Помимо того, что я не прав, что я делаю неправильно? Я думал, что мой маршрут будет покрывать [POST], нет?

ответ

0

Правильный способ создания новой записи - PUT, а не POST. Вы должны удалить :method => "post" из своего шаблона, поэтому метод PUT будет выбран автоматически.

Смежные вопросы