繁体   English   中英

ActionController :: MethodNotAllowed(仅允许获取和发布请求。):

[英]ActionController::MethodNotAllowed (Only get and post requests are allowed.):

不知道发生了什么。 我使用下面的代码来尝试编辑类别的名称,但是我收到了上面的错误消息。 我用于表单并提交以进行编辑的代码是:-

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

非常简单的东西。 我的控制器代码是:-def edit @category = Category.find(params [:id])结束

#PUT / categories / 1#PUT /categories/1.xml def update @category = Category.find(params [:id])@ category.update_attributes(params [:category])

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

结束

该代码还可以用于其他方面(例如博客文章),所以我不确定我哪里出错了。

我认为您想要:url => category_url(@category) (非复数)。

这通常会更干净一些。让路由系统找出如何最好地保存@category。

/app/controllers/admin_categories_controller.rb据此猜测)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM