2
我正在使用activeadmin並需要弄清楚如何要求作用域僅顯示與當前用戶有關的記錄。需要在activeadmin資源中的作用域
我也有其他的範圍,用戶可以選擇,但這些範圍需要「預先確定範圍」,以便只有屬於該用戶的記錄在任何給定時間可用。
我希望這是有道理的。我對這一切都很陌生,所以我不確定從哪裏開始。預先感謝您的幫助。
我正在使用activeadmin並需要弄清楚如何要求作用域僅顯示與當前用戶有關的記錄。需要在activeadmin資源中的作用域
我也有其他的範圍,用戶可以選擇,但這些範圍需要「預先確定範圍」,以便只有屬於該用戶的記錄在任何給定時間可用。
我希望這是有道理的。我對這一切都很陌生,所以我不確定從哪裏開始。預先感謝您的幫助。
您試過與scope_to :current_user
範圍有關嗎?
AA有一些文檔示例。在這裏,他們是 http://activeadmin.info/docs/2-resource-customization.html#scoping_the_queries
CURRENT_USER是輔助方法,目前獲得登錄的用戶(currend_admin_user是默認的,我認爲)從AA初始化
# This setting changes the method which Active Admin calls
# to return the currently logged in user.
config.current_user_method = :current_user
代碼如果你有某種梅託德的模型中使用你登錄的用戶,你可以做這樣的事情
controller do
def scoped_collection
Post.some_method(current_user)
#or for example Post.select(current_user.visible_posts_columns) ... etc
end
end
好吧,我不知道scope_to部分,我會檢查它今晚。我有自定義身份驗證以及我正在使用的cancan。我不確定這是否會影響事物,但我認爲AA 0.5.0的新版本應該以某種方式使用康康來只顯示適用的記錄。初始化程序中是否有需要爲此設置的配置?你用過0.5.0嗎?再次感謝! – Sean
如果我明白你可以使用scoped_collection方法來「預先確定」你的數據 – Fivell