Я разрабатываю API для своего проекта rails и не знаю, как решить эту проблему.
Я использую 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
А рабл ничего не знает о моем методе и возвращает false в if
лямбде. Как я могу решить эту проблему? я готов к любым предложениям. Спасибо!
я использую rails-3.2.6 doorkeeper-0.4.2 rabl-0.6.13