有很多SO帖子都在讨论在运行时删除属性或使属性成为可选属性。
如何配置和调用ActiveModel :: Serializer,以便有一组默认属性,然后在运行时,客户端代码可以指定一组要包括的其他属性?
这里是一个例子:
class UserSerializer < ActiveModel::Serializer
attributes :id, email
def roles
@object.roles.map(&:name)
end
end
us = UserSerializer.new(User.first, also: [:first_name, :roles])
us.as_json
# Expected:
# {:id => 1, :email => "user@example.com", :first_name => "Bob", :roles => [:admin, :employee]}
很明显,不支持:also
关键字,还有另一种方法吗?