Maintenant, dans mon application rails, j'utilise une authentification simple (email, mot de passe) et donne compte role
pour définir ce que le compte peut faire.Rails comment implémenter le rôle et définir le pouvoir du rôle?
def login
email = params[:email]
@account = Account.find_by_email(email)
if @account && @account.authenticate(params[:password])
session[:user_id] = @account.id
redirect_to books_path
else
render :login
end
end
def current_user
@current_user ||= Account.find(session[:user_id]) if session[:user_id]
end
par exemple: deux gestionnaire de rôles (de role_id: 1) et l'utilisateur (role_id: 2 ... N) dans le contrôleur, j'utilise façon bête pour ensemble de données pour chaque rôle comme:
chaque livre a ACCOUNT_ID
def index
@books = Book.where("account_id = ?,@current_user.id)
@books = Book.all if @current_user.role_id == 1
end
il semble si fou, et j'essayé d'utiliser cancancan à cette résolu, mais comme je sais, cancancan juste peut définir pour Restful méthode, et peut distinguer l'autorité de rôle comme le gestionnaire peut faire tout et la méthode peut faire montrer ... ne cancancan peut faire un certain nombre de résoudre quel rôle peut voir quelles données ils possèdent? utiliser cancancan ou d'une autre manière de résoudre? s'il vous plaît donnez-moi quelques conseils! Merci.
ma réponse pourrait vous aide? – rob