0
我希望允许管理员使用自定义字段创建帖子,但仍希望他们使用与普通用户使用的相同的创建操作。定义cancan中的无用功能?
我认为要做到这一点:
class Ability
include CanCan::Ability
def initialize(user)
if user.admin?
can :specialize, Post
end
end
end
然后在我的控制器:
def create
@post = Post.new
if can? :specialize, @post
do_fancy_things_here
end
end
奇怪的是,do_fancy_things_here如何,始终会的,如果用户是管理员还是没有运行。
这很奇怪。我偏离康康手册的唯一方法是:专门化并不实际映射到控制器操作。这很重要吗?
我很好奇,如果你改变你的if语句:'如果能? :specialize,Post',你还会得到同样的东西吗? – Max 2012-01-27 05:52:49
是啊同样的事情= / – 2012-01-28 05:20:26