這似乎是一個簡單的任務,但我很難找出「軌道」的方式來做到這一點。我應該如何驗證對Active Record對象的訪問?
我使用Authlogic來驗證用戶,並且每個用戶has_many:博客,:圖片等。我不知道該怎麼做是限制用戶A的博客的訪問(顯示/更新/編輯/刪除)只是給用戶A.
看來我有三個選擇。
- 條件(USER_ID == current_user.id)添加到我所有的查找語句
- 使用的before_filter來完成上述
- 使用default_scope追加該認證條件(但我認爲這將當我去寫測試時會很痛苦)。
其他人發現是最好的方法來解決這個問題?
作爲一個額外的問題,假設這是一個用戶has_many:博客,博客has_many:部分和部分has_many:圖像的情況。在這種情況下,屬於博客的所有元素都必須限制爲用戶A,但只有博客具有user_id列。將相同的認證條件附加到章節和圖像上的最有效/優雅的方式是什麼?
謝謝, 邁克
真棒建議。康康看起來很完美。非常感謝! – CambridgeMike 2011-03-28 22:46:31