2016-11-14 4 views
2

Я создаю приложение Rails и делаю форму с формой_for. Я продолжаю получать ошибку, что нет совпадений маршрутов для того, что я указал, но когда я запускаю маршруты рейка, я вижу маршрут, который я указываю (или, по крайней мере, я думаю, что знаю). Может ли кто-нибудь помочь?Ошибка совпадения маршрутов

Мой form_for тег:

<%=form_for @party, :url => { :action => "update", :controller=>"parties", :method=>"patch" } do |f| %> 

И в мой контроллер партий у меня есть:

def update 
    @party.find(params[:id]) 
    @party.update_attributes 

    if @party.save 
    redirect_to '/login' 
    end 
    end 

Кроме того, мои маршруты для партийной модели рассматриваются ниже: enter image description here

+0

Попробуйте это: '<% = form_for @party,: URL => {: действие => "обновление",: контроллер => "партии"},: метод => "заплаты" сделать | F | %> ' – dp7

+0

Я получаю то же сообщение об ошибке. То же самое, если я попробую «поставить» вместо «patch!» – bjorkland

+0

Можете ли вы опубликовать полную трассировку стека ошибки? – dp7

ответ

0

Если вы не учитываете параметры, рельсы выяснят, является ли это формой создания/обновления. В противном случае вам нужно будет иметь отдельные формы для создания/обновления, если вы укажете параметры.

<%= form_for @parties do |f| %> 
... 
<% end %>