採用 acl_system2 插件(官方文檔),機制:
before_filter :check_authentication
access_control :DEFAULT => 'ROLE_NAME'
針對使用者角色限制整個 Controller 存取。
# Controller/Helper
do_admin_stuff if is_user_in_role?('Administrator')
# View (ERB)
<% restrict_to "(Administrator) & !blacklist" do %>
管理員專屬內容
<% end %>
administrator/ 目錄:Administrator::NewControllerNameclass Administrator::NewControllerName < AdminControllerviews/administrator/new_controller_name/
access_control :DEFAULT => 'AdminRole'views/admin/_navigation.html.erb,自動受權限保護config/database.yml 定義獨立 logging 資料庫,分兩類表:
rake logging:clear # 清除所有日誌(生產禁用)
rake logging:dimension:mock THOUSANDS=2 # 產生 2000 筆模擬資料
rake logging:geocode:all # 地理編碼處理
rake logging:fact:all # 衍生 Fact 表資料
# 一鍵執行上述所有
script/runner script/logging_mock
rake logging:fact:today
rake logging:fact:yesterday
rake logging:fact:range FROM='01/15/2007' TO='12/19/2008'
生產環境嚴格保護防誤刪,開發環境提供豐富模擬工具。