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
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