我为我的 rails 项目开发 api,现在不知道如何解决这个问题
我使用doorkeeper
gem 进行身份验证,使用rabl
gem 进行 json 渲染。而且我必须为登录用户添加一些字段。
例如:部分show.rabl
:
node :accessible, if: lambda { |m| current_user } do |model|
model.accessible(current_user)
end
并且api/application_controller.rb
:
def current_user
User.find(doorkeper_token.resource_owner_id) if doorkeper_token
end
我也尝试过这种方式(rabl
文件):
if current_user
node(:accessible) { |m| m.accessible(current_user) }
else
{no: "no"} # this line rendered!!
end
并且 rabl 对我的方法一无所知,并在if
lambda 中返回 false。我怎么解决这个问题?我准备好接受任何建议。谢谢!
我用rails-3.2.6 doorkeeper-0.4.2 rabl-0.6.13