我在我的rails應用程序中使用cancancan gem。但我不太清楚load_and_authorize_resource
方法的含義。我知道這跟調用load_resource
和authorize_resource
是一樣的。如何理解cancancan gem的load_resource和authorize_resource方法?
load_resource
將創建模型的新實例,或者通過params[:id]
得到一個實例或實例集合,然後authorize_resource
方法將使用這些實例來授權。但是如果我在每個控制器動作中已經有Model.find(params[:id])
或Model.new
,我需要添加load_resource
方法嗎?
對於某些操作(非RESTful操作),它們與模型沒有關係,所以我不需要獲取實例,對於這種情況,authorize_resource
如何正常工作?
任何想法是感激!提前致謝!
如果我跳過'new'行動authorize_resource,任何人都可以訪問此API,這不是我想要的,怎麼解決這個問題呢? – pangpang
對不起,應該是'skip_load_resource'。我已經更新了答案 – Deep