在Active Model Serializers中,您可以通过respond with resource, serializer: ViewContractsSerializer
使用不同的Serializer。问题是我希望使用serializer: "View#{resource_name}Serializer"
使其成为动态,但这不起作用,因为它是一个字符串。如果我做serializer: eval("View#{resource_name}Serializer")
它当然有效,但我知道你不应该在生产代码中使用eval。
答案 0 :(得分:0)
Rails有一个有用的constantize
方法可以做你想做的事情:
respond_with resource,
serializer: "View#{resource_name}Serializer".constantize