Насколько я понял, это проблема авторизации.Возможно, вы хотите иметь разные роли для своих пользователей и, исходя из таких ролей, решить, что отображать.
Вы можете использовать policy , чтобы определить, к какому контенту разрешен доступ каждому пользователю.Для этого вы можете использовать pundit gem .Очень полезно определить механизмы авторизации для действий контроллера.
Если разные пользователи могут получить доступ к одному и тому же маршруту, но вам необходимо скрыть некоторые поля / детали для некоторых из них, вы должны передать current_user в ваши сериализации.Например, если вы используете гем Active Model Serializer , вам необходимо добавить current_user в область действия ваших сериализаторов:
class ApplicationController < ActionController::Base
serialization_scope :current_user
end
И затем использовать эту область для отображения сведений о пользователе.:
class UserSerializer < BaseSerializer
attribute :name # Everyone can see
attribute :email do # Only admins can see
user = scope
if user
if user.admin?
object.email
end
end
end
end
В этой статье более подробно обсуждается вопрос авторизации в rails-приложениях