ActionController :: MethodNotAllowed (разрешены только запросы на получение и публикацию.): - PullRequest
0 голосов
/ 01 августа 2010

Не уверен, что происходит. Я использовал следующий фрагмент кода, чтобы попытаться отредактировать название категории, но я получаю сообщение об ошибке выше. Мой код для формы и отправки для редактирования: -

<% 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 / категории / 1 # PUT /categories/1.xml обновление по умолчанию @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  

конец

Этот код работал для других целей - например, для статей в блогах, поэтому я не уверен, где я {не так.

Ответы [ 2 ]

2 голосов
/ 01 августа 2010

Это немного чище ... Пусть система маршрутизации выяснит, как лучше сохранить категорию @.

/ app / controllers / admin_categories_controller.rb (угадал на этом)

def new
  @category = Category.new
end

/ приложение / просмотров / 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%>
2 голосов
/ 01 августа 2010

Я думаю, что вы хотите :url => category_url(@category) (не множественное число).

...