1

我已經創建了一個表,用戶隨時間使用status_updates填充。每個狀態都可以單獨刪除。創建輔助刪除選項

這是通過調用status_update_controller中的destroy方法並在名爲correct_user的私有方法中標識特定的status_update來完成的。

所以基本上它看起來像這樣:

在我status_update_controller頂部

before_filter :correct_user, only: :destroy 

的銷燬方法

def destroy 
    @status_update.destroy 
    redirect_to root_url 
end  

和私營正確的用戶方法

private 

    def correct_user 
     @status_update = current_user.status_update.find_by_id(params[:id]) 
     redirect_to root_url if @status_update.nil? 
    end 

我的問題是這樣的:

我怎樣才能選擇所有的status_updates的針對特定用戶和使用按鈕或鏈接會被殺死?

謝謝!

回答

0

定義您StatusUpdatesController內像這樣的動作:

def delete_all 
    current_user.status_updates.delete_all 
end 

您需要路由到這個動作也:

resources :status_updates do 
    collection do 
    delete :delete_all 
    end 
end 

並作出按鈕:

button_to "Delete the everything", delete_all_status_updates_path, :method => :delete 
+0

OK大。這實際上證明了link_to功能對我來說有多好。 雖然,我得到這個錯誤:每當我將其更改爲的link_to的一部分..:: 沒有路由匹配[POST]「/ status_updates的/ DELETE_ALL」 ...... 在該方法中刪除沒有被刪除,但是頁面被路由到根目錄。 如果我按照你的建議放置'post',它會給出我提到的同樣的錯誤。如果我把:delete_all也給出錯誤。 –

+0

我在按鈕中使用了錯誤的方法。請參閱最新的答案。 –

+0

好的。我通過右側控制器將其路由到了delete_all操作。 –