2010-11-23 4 views
0

Mon point de vue:Ruby on Rails: seulement obtenir, mettre et supprimer des permis

<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 %> 

partielle ... rien de spécial

<%= 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 /> 

mon erreur:

ActionController::MethodNotAllowed 

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

S'il vous plaît poster votre routes.rb et le contrôleur, le problème est probablement dans l'un d'entre eux. – Gazler

Répondre

1

MethodNotAllowed semble provenir du routage basé sur les ressources. Le routage basé sur les ressources nécessite des noms de méthodes distincts pour faire correspondre les actions. Dans votre cas, vous devez fournir :method => :post dans form_for, quelque chose comme ça:

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