Rails cancancan用户可以看到自己的订单,admin可以看到所有用户的订单

Rails cancancan user sees own order, admin can see all users orders

controller.rb

load_and_authorize_resource

  # GET /orders or /orders.json
  def index
    if params[:user_id]
      @orders = current_user.orders
    else
      @orders = Order.all
    end
  end

ability.rb

    if user.user_role?

      can :manage, Order, :user_id => user.id

    end

试图让普通用户只能看到他们自己的 orders/posts 并且管理员角色用户可以看到所有用户的 posts/orders。

我错过了什么?我正在使用 cancancan 和设计。

我想通了:

  def index
    if current_user.superadmin_role?
      @orders = Order.all
    else
      @orders = current_user.orders
    end
  end