【发布时间】:2014-11-08 00:42:15
【问题描述】:
我正在使用 Rails 设置一个非常基本的 Web 应用程序,我已经完成了设计设置和工作。
我现在的问题是,无论我登录了谁,我都可以查看和销毁我上次登录的帐户的内容。
我只需要两种类型的角色,成员和客人。会员只能查看、编辑和销毁自己的内容,客人只能盯着注册屏幕。
有人可以帮帮我吗?我已经安装了 cancan 并且有能力文件夹。
我从这个网站上的其他几个问题中复制了一些设置,但到目前为止没有一个有效,这是我当前的 users.rb
class User < ActiveRecord::Base
attr_accessible :name , :email # Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
ROLES = %w[member guest]
def is?( requested_role )
self.role == requested_role.to_s
end
end
和我目前的能力
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user (not logged in)
if user.role == "member"
can :manage, :user_id => user.id
elsif user.role == "guest"
cannot :manage, :all,
end
end
【问题讨论】:
-
我们需要查看代码才能帮助您。
-
好的..我从这个网站上的其他问题中复制了一些东西,但没有一个对我有用,这是我的 users.rb
标签: ruby-on-rails devise permissions cancan