В сериализаторах активных моделей вы можете использовать другой сериализатор, выполнив respond with resource, serializer: ViewContractsSerializer
. Проблема в том, что я хочу, чтобы это было динамически с использованием serializer: "View#{resource_name}Serializer"
, и это не работает, потому что это строка. Если я сделаю serializer: eval("View#{resource_name}Serializer")
, это, конечно, сработает, но я знаю, что вы не должны использовать eval в рабочем коде.
Передать сериализатор: строка
Ответы (1)
В Rails есть полезный метод constantize
, который может делать то, что вы хочу:
respond_with resource,
serializer: "View#{resource_name}Serializer".constantize
person
Jordan Running
schedule
18.09.2015