0

我无法让视图和控制器一起玩得很好。我想我搞砸了我的路由,任何帮助都会很棒。

我的控制器看起来像:

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 时,我得到了我的页面,当我点击提交时,我得到了这个错误:

2012 年 5 月 2 日星期三 22:38:10 -0400 为 0:0:0:0:0:0:0:1%0 开始 POST "/account_details/new"

ActionController::RoutingError (没有路由匹配 [POST] "/account_details/new"):

除了一无所知,我做错了什么?我以为我的路线会覆盖 [POST],不是吗?

4

1 回答 1

0

创建新条目的正确方法是 PUT,而不是 POST。您应该:method => "post"从模板中删除,因此将自动选择 PUT 方法。

于 2012-05-03T03:00:24.570 回答