2010-11-23 54 views
0

我的觀點:Ruby on Rails的:只有GET,PUT和刪除允許

<h1>New Address</h1> 

<% form_for @address, :url => new_address_path do |f| %> 
    <%= f.error_messages %> 
    <%= render :partial => "form", :object => f %> 
    <%= f.submit "Add Address" %> 
<% end %> 

部分......沒有什麼特別

<%= form.label :number %><br /> 
<%= form.text_field :number %><br /> 
<br /> 
<%= form.label :street %><br /> 
<%= form.text_field :street %><br /> 
<br /> 
<%= form.label :city %><br /> 
<%= form.text_field :city %><br /> 
<br /> 
<%= form.label :state %><br /> 
<%= form.text_field :state %><br /> 
<br /> 
<%= form.label :zip_code %><br /> 
<%= form.text_field :zip_code %><br /> 
<br /> 
<br /> 

我的錯誤:

ActionController::MethodNotAllowed 

Only get, put, and delete requests are allowed. 
+0

請發表您的routes.rb和控制器,該問題很可能是其中的一個。 – Gazler 2010-11-23 19:40:56

回答

1

MethodNotAllowed似乎來自基於資源的路由。基於資源的路由需要不同的方法名稱來匹配操作。在你的情況,你應該在form_for提供:method => :post,這樣的事情:

<% form_for @address, new_address_path, :method => :post) do |f| -%>