我的问题是我不明白如何在没有模型的情况下为资源设置能力。从现在开始我有单个api控制器
class Api::V1::ProfilesController < Api::V1::BaseController
before_action :doorkeeper_authorize!
authorize_resource class: User
respond_to :json
api :GET, '/profiles', "This is index for all registered users except current user"
def index
render json: User.where.not(id: current_resource_owner.id)
end
api :GET, '/profiles/me', "This is current user profile's data"
def me
render json: current_resource_owner
end
protected
def current_resource_owner
@current_resource_owner ||= User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token
end
end
在这种情况下,Profile不是模型,它只是一个控制器(api资源)我也有cancan能力
can :me, User, id: user.id
can **index????**, User, id: user.id
设置自定义 me 操作的能力并不棘手,但是如何设置它:仅在Profiles控制器中设置索引(因为我已经为UsersController设置了能力,也有:index 操作,我不想更改它们)
我只是个初学者所以请原谅我,如果我的解释不是那么直截了当(如果要求我可以写一些额外的解释)和我的英语