2012-03-16 131 views
0

我定義了一個軌道3嵌套的資源如下發行名爲路線嵌套資源

resources :candidates do 
    collection do 
    get :bookmarked 
    end 
    resources :bookmarks, :only => [:create, :destroy] 
end 

的candidats集合中的書籤行動將爲候選新書籤。這可以正常工作。

當我嘗試刪除書籤時出現問題。

我有我的候選顯示頁面的鏈接如下

<%= link_to "Remove bookmark", candidate_bookmarks_path(@candidate, @bookmark), :method => :delete %> 

當我點擊這個鏈接,我得到以下錯誤

No route matches "/candidates/1/bookmarks.8" 

我期待的網址是/人選上/ 1 /書籤/ 8不是在錯誤中打印的內容。我也希望將請求引導至書籤控制器銷燬方法。但顯然這沒有發生。

有人可以告訴我我做錯了什麼。任何幫助讚賞。

回答

2

銷燬行爲的路徑應該是candidate_bookmark_path(@candidate, @bookmark)而不是candidate_bookmarks_path(@candidate, @bookmark)

請記住,您正在刪除特定候選人的特定書籤,因此資源在您的路徑中應該是單數,並且您需要爲每個資源傳遞特定的對象。