我使用設計爲我的身份驗證系統和cancan權限。我正在添加角色,我試圖在用戶註冊時自動分配角色。我看了ryan bate screencast並且跟着devise & cancan tutorial。鐵軌cancan角色?
如何在不使用複選框的情況下實現此操作,並根據用戶何時註冊自動爲用戶分配角色。
我使用設計爲我的身份驗證系統和cancan權限。我正在添加角色,我試圖在用戶註冊時自動分配角色。我看了ryan bate screencast並且跟着devise & cancan tutorial。鐵軌cancan角色?
如何在不使用複選框的情況下實現此操作,並根據用戶何時註冊自動爲用戶分配角色。
你可以嘗試使用一個回調:http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html
的before_create
回調可能是你在你的用戶模型想要的東西:
class User < ActiveRecord::Base
before_create :set_default_roles
private
def set_default_roles
self.roles = ['Default user']
end
end
AR::Callbacks
爲你做的伎倆,但我更喜歡建立角色時,用戶對象首先被初始化:
class Role < ActiveRecord::Base
end
class User < ActiveRecord::Base
after_initialize :set_default_roles
private
def set_default_roles
self.roles = self.roles || [Role.find_by_name('Default Role')]
end
end