0.6.0
将 jsonapi-resources gem版本与 Doorkeeper 结合使用,我在查看context
资源中对象中的当前用户时遇到问题。
我基本上遵循文档,但是我尝试的任何方法都不会使我在资源的方法中context
设置为ApplicationController
可见。fetchable_fields
我确实确认这context
实际上是在我的ApplicationController
.
这是我所拥有的
应用控制器
class ApplicationController < JSONAPI::ResourceController
protect_from_forgery with: :null_session
def context
{current_user: current_user}
end
end
控制器
class Api::ItemsController < ApplicationController
prepend_before_action :doorkeeper_authorize!
end
资源
class Api::ItemResource < JSONAPI::Resource
# attributes
def fetchable_fields
# context is always nil here
if (context[:current_user].guest)
super - [:field_i_want_private]
else
super
end
end
end