不确定发生了什么。我已经使用以下代码来尝试编辑类别的名称,但我收到上面的错误消息。我的表单代码和提交编辑的是: -
<% 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编辑 @category = Category.find(params [:id]) 端
#PUT / categories / 1 #PUT /categories/1.xml def更新 @category = Category.find(params [:id]) @ category.update_attributes(PARAMS [:类别])
respond_to do |wants|
wants.html { redirect_to admin_categories_url }
wants.xml { render :xml => @category.to_xm }
end
端
此代码适用于其他内容 - 例如博客文章,所以我不确定我在哪里出错。帮助??
答案 0 :(得分:2)
我想你想要:url => category_url(@category)
(非复数)。
答案 1 :(得分:2)
这往往更清洁......让路由系统弄清楚如何最好地保存@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%>