【发布时间】:2017-07-08 22:42:12
【问题描述】:
我对 CanCan Gem 有点困惑。我基本上了解如何设置abillity.rb。例如,以免我们有以下代码:
// in abillity.rb
user ||= User.new
can [:update, :destroy, :edit, :read], Book do |book|
book.dashboard.user_id == user.id
end
然后假设我们有以下书籍控制器:
// books_controller.rb
load_and_authorize_resource
def destroy
if can?(:destroy, @book)
@book.destroy!
redirect_to happy_world_path
else
redirect_to not_happy
end
end
我的问题是:我们需要检查 'can?(:destroy, @book)' 吗? 据我了解,如果我们没有能力销毁它,'load_and_authorize_resource' 甚至不会允许访问此方法。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-5 cancan cancancan