如何防止基於會話變量訪問特定的一組記錄?如何防止訪問屬於不同用戶的記錄
即我有一個用user_id鍵的項目表,我如何過濾對基於user_id的項目的訪問。我不希望有人能夠訪問/項目/ 3 /編輯,除非該項目有其用戶ID反對它(基於會話變種)
更新: 我使用@ fl00r建議的答案與一變化,使用find_by_id(),而不是找到(),因爲它返回一個零,可以處理相當不錯:
@item = current_user.items.find_by_id([params[:id]]) || item_not_found
其中item_not_found在應用程序控制器的處理,只是提出了一個路由錯誤。
我覺得這個問題有點模糊,但你嘗試過使用[命名範圍](http://ar.rubyonrails.org/classes/ActiveRecord/NamedScope/ClassMethods.html)?還有類似[CanCan](https://github.com/ryanb/cancan)的授權? – Augusto