2016-04-13 6 views
0

Я использую active_model_serializers (0.9.2). Я изучал документацию, стек и исходный код и все еще не могу найти способ передать некоторый параметр в сериализатор. Только один обходной путь использует default scopeРельсы - параметр параметрирования сериализатора

def default_serializer_options 
    { 
    scope: some_param 
    } 
end 

@options, варианты orserialization_options, кажется, не работает для меня.

+0

делать и хотите, чтобы понять концепцию сериализации? или что –

+0

Я хочу передать параметры от контроллера к сериализатору. Thats все, что я ожидаю – mike927

ответ

0

Это ссылка, которая поможет вам с этим link Сначала создайте сериализатор в папке сериализатора.

class AttachmentSerializer < ActiveModel::Serializer 
    attributes :id, :attachment_url 

    def attachment_url 
     object.attachment_url 
    end 

end 


Тогда в вашем контроллере вы можете сделать что-то вроде этого

params.require(:model-name).permit(:attachment) 
+0

Я использую 'render json: @books, each_serializer: BookSerializer', и я хотел бы передать дополнительный параметр вместе с @books. Что-то вроде 'render json: @books, name: 'John', each_serializer: BookSerializer', а затем получить доступ к' title' в сериализаторе к 'name', но выше не работает или я не могу получить этот параметр, тогда – mike927

+0

знаете ли вы, что Я хочу сейчас? – mike927

+0

да, я знаю, что вы хотите знать, ссылка, которую я предоставил, решит вашу проблему, если она не сообщит мне –