1
我對CanCan Gem有點困惑。我基本上明白如何設置abillity.rb。例如免得說我們有下面的代碼:Ruby on Rails CanCan Gem
// 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
我的問題是:我們是否需要勾選「可以(?:破壞,@book)'? 根據我的理解,'load_and_authorize_resource'甚至不允許訪問此方法,如果我們沒有足夠的能力來銷燬它。