我使用mandrill API发送邮件程序,而to:方法需要采用以下格式:
[{ email: 'someone@email.com', name: 'Bob Bertly' }, { email: 'other@email.com', name: 'Claire Nayo' }]
如何以这种格式自动放置所有用户?我的第一个想法是每个用户都有一个do语句,并将user.name和user.email放在他们的位置,但我无法让它工作。
任何指导都很棒。
答案 0 :(得分:1)
我建议使用serializable_hash
编写类方法:
def self.to_hash
all.to_a.map(&:serializable_hash)
end
然后你就可以得到所有用户的数组:
User.to_hash
答案 1 :(得分:0)
假设您在'users'变量中有用户列表,并且用户有电子邮件和&名称:
users.map do |user|
{email: user.email, name: user.name}
end
将按要求返回一组哈希值。