如果我使用Devise with Rails,我该怎么做: User.all
到我可以放入选择列表的电子邮件地址数组?
像User.all.email?
我是否需要遍历列表或是否有更优雅的方式?
答案 0 :(得分:1)
你可以做(只有Ruby 1.9.2):
User.all.map(&:email)
这是一个简单的表单,允许您在每个对象上调用单个方法并将结果返回到数组中。
你也可以(1.8.7和1.9.2):
User.all.map{|u| u.email}
这允许更复杂的操作,例如:
User.all.map{|u| [u.id, u.name + ": " + u.email]
当然,每个用户都会返回一对包含姓名和电子邮件的ID和字符串。
这些方法实际上与设计关系较少,而与Enumerable
有关