2015-09-18 1 views
0

В сериализаторах активной модели вы можете использовать другой сериализатор, выполнив respond with resource, serializer: ViewContractsSerializer. Проблема в том, что я хочу, чтобы это было динамическим, используя serializer: "View#{resource_name}Serializer", и это не работает, потому что это строка. Если я делаю serializer: eval("View#{resource_name}Serializer"), это работает, конечно, но я знаю, что вы не должны использовать eval в производственном коде.Просеиватель сериализации: a Строка

ответ

0

Rails имеет полезный constantize метод, который может делать то, что вы хотите:

respond_with resource, 
    serializer: "View#{resource_name}Serializer".constantize