我正在研究一個簡單的Web應用程序,它具有用戶模型和角色模型(以及其他),以及包含許多控制器的管理部分。我想使用before_filter來檢查會話中用戶的用戶是否有'can_access_admin'標誌。RoR:從application.rb訪問模型
我有這樣的代碼在application.rb中:
DEF check_role @user =會話[:用戶]
如果@ user.role.can_access_admin.nil? || [email protected]_access_admin render:text =>「您當前的角色不允許訪問管理區域。」 回報 結束 結束
,然後我有內部的管理控制器的一個驗證碼:
類聯繫:: BlogsController <的ApplicationController 的before_filter:check_role
高清名單 @blogList =博客。發現(:所有) 結束 結束
當我嘗試查看列表動作我得到此錯誤:
未定義的方法「角色」的用戶...
任何人知道我必須做的就是角色協會在application.rb中的認可? (請注意,關聯配置正確,並且@ user.role在我嘗試使用它的其他地方工作正常)