2012-09-21 158 views
0

這裏的問題,訪問請求時/ index.html.erb:路由錯誤 - 無路由匹配

路由錯誤

沒有路由匹配{:動作=> 「取消」,:控制器= > 「請求」}

index.html.erb:

<%= link_to "Cancel", cancel_request_path %> 

routes.rb中:

resources :requests do 
    get 'cancel', on: :member 
end 

requests_controller.rb:

def cancel 
    request = Request.find(params[:id]) 
    request.update_attributes(stage: "Cancelled") 
    redirect_to root_path 
end 

我缺少什麼?

回答

0

get 'cancel', :on => :member

在成員的手段,你的路徑是這樣的:

cancel_requests_path(:id=>request_id) 

或者乾脆請求參數對象...

1

固定。我只是需要改變這在我index.html.erb:

<%= link_to "Cancel", cancel_request_path(request.id) %> 

我以爲對象的所有屬性將得到傳遞給PARAMS的動作,但我想我必須指定PARAMS通過行動。

相關問題