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

新しいエントリを作成する適切な方法は、POST ではなく PUT です。テンプレートから削除する必要がある:method => "post"ため、PUT メソッドが自動的に選択されます。

于 2012-05-03T03:00:24.570 に答える