3

Я использую Active Model Serializers в проекте рельсы и имеют user объект, который должен быть передан от контроллера сериализатором так:По умолчанию сериализатору визуализации параметров в контроллере Rails

# Note the 'user:' option that will be accessible inside 
# the serializer with @options[:user] 
def show 
render json: @some_object, user: current_user 
end 

def index 
render json: SomeObject.all, user: current_user 
end 

Это достаточно хорошо что я пытаюсь сделать, но это не очень СУХОЙ и приводит к render операторам, которые усеяны опциями. Когда эти параметры меняются, мне нужно вернуться и вручную удалить/изменить их во всех действиях.

Мой вопрос: Есть ли способ установить список параметров по умолчанию для вызова render на уровне контроллера вместо того, чтобы вручную вводить параметры в каждое действие одного контроллера?

ответ

3

Это может быть достигнуто путем добавления этого метода к контроллеру:

def default_serializer_options 
    {user: current_user} 
end 

Вы можете получить доступ к его изнутри сериализатором через options[:user]

+0

Это было _removed_ в 0.10.x (не рекомендуется) – saywhatnow

Смежные вопросы