2010-11-01 23 views
2

我有以下兩種模式:rails - 創建一個可用的刪除鏈接?

class PhotoAlbum < ActiveRecord::Base 
    belongs_to :project 
    has_many :photos, :dependent => :destroy 

class Photo < ActiveRecord::Base 
    belongs_to :photo_album 

當用戶的天地我的相簿高清顯示頁面上,我希望這是一個刪除鏈接,所以我創建了以下內容:

<%= link_to "Delete", project_photo_album_path(@photoalbum.id), :confirm => "Are you sure?", :method=>:delete %> 

哪呈現如下:

<a href="/projects/41/photo_albums/41" data-confirm="Are you sure?" data-method="delete" rel="nofollow">Delete</a> 

但是,這並不工作...在日誌中,Rails的嘗試時,我覺得它給刪除了「41」專輯的想法,photo.ids壽ld將刪除,photo.album_id = 41,然後是相冊。

您認爲如何?

回答

1

它看起來像你使用嵌套的路線。您應該使用類似的方式指定路徑:

project_photo_album_path(:project => @photoalbum.project, :photo_album => @photoalbum)改爲。當你指定一個嵌套路由如/projects/:project_id/photo_albums/:photo_album_id時,ra​​ils需要兩個id,因爲你只傳入一個整數給path方法,它似乎試圖將這個整數作爲id的使用。