2012-08-24 55 views
1

我正在嘗試使用聲明授權來進行動態授權,因此我將角色和權限存儲在數據庫中。強制重載聲明授權的授權rules.rb

我唯一的問題是授權規則只加載一次。

如何強制聲明授權重新加載控制器操作內部的規則,以便當我設置新角色的權限時,它可以像我期望的那樣工作?

回答

1

對於那些正在嘗試相同的嘗試,我不得不改變一下寶石。

檢查這個承諾看我做什麼:

https://github.com/bishma-stornelli/declarative_authorization/commit/b508c3c008ed4b72e9fe2ec7802bfafbc6c4590b

現在我可以強制通過調用這個方法來重新加載授權規則:

Authorization::Engine.force_reload 

它工作正常。

+1

在最新版本中,這是可行的。如果您正在使用Gemfile,請確保加載git repo,因爲rubygem repo尚未使用最新代碼進行更新:gem'declarative_authorization',::git =>'https://github.com/stffn/declarative_authorization.git' – chris