2010-08-01 5 views
0

Vous ne savez pas exactement ce qui se passe. J'ai utilisé le peu de code suivant pour essayer d'éditer le nom d'une catégorie, mais je reçois le message d'erreur ci-dessus. Mon code pour le formulaire et soumettre pour l'édition est: -ActionController :: MethodNotAllowed (Seules les requêtes get et post sont autorisées.):

<% form_for :category, :url => categories_url(@category),:html => { :method => :put } do |f| -%> 
<p>Name: <br /><%= f.text_field :name, :size => 60 %></p> 
<%= submit_tag 'Save' %> or <%= link_to 'cancel', admin_categories_url%> 

Donc assez simple. Mon code de commande est le suivant: - modifier DEF @Category = Category.find (params [: id]) fin

# PUT/catégories/1 # PUT /categories/1.xml jour def @Category = Category.find (params [: id]) @ category.update_attributes (params [: catégorie])

respond_to do |wants| 
    wants.html { redirect_to admin_categories_url } 
    wants.xml { render :xml => @category.to_xm } 
end 

fin

Ce code a travaillé pour d'autres choses - comme les articles de blog, je Je ne suis pas sûr d'où je {"mg mauvaise erreur. Aidez-moi??

Répondre

2

Je pense que vous voulez :url => category_url(@category) (non pluriel).

+0

Merci, un simple pense et ça a marché! Blabla! – mrbernz

2

Cela a tendance à être un peu plus propre ... Laissez le système de routage déterminer la meilleure façon d'enregistrer la @category.

/app/controllers/admin_categories_controller.rb (deviner ce)

def new 
    @category = Category.new 
end 

/app/views/admin_categories/new.html.erb

<% form_for @category do |f| %> 
<p> 
<%= f.label :name%>: <%= f.text_field :name, :size=>60%> 
</p> 
<%= f.submit :save%> or <%= link_to 'cancel', admin_categories_url%> 
+0

Merci, je vais essayer aussi. – mrbernz

Questions connexes