Rails 4.2 ActiveAdmin 获取管理员邮箱地址

Rails 4.2 ActiveAdmin get admins email addr

这个查询总是returns[nil]

AdminUser.all.collect{|a|a.email}

然而,这两个查询工作正常。

AdminUser.all
AdminUser.all.collect{|a| a.current_sign_in_ip}

为什么我无法获取电子邮件地址?

更新

电子邮件字段本身不是 nil。它存在于 AdminUser.all 调用中,而且此调用会返回正确的电子邮件。

>>au=AdminUser.find(1)
>>au[:email] 
=>my@email.addr

原题解

通过另一个 我发现我在 model/admin_user.rb:email 字段上添加了 attr_accessor 我删除了它,现在还有 AdminUser.all.collect{|a|a.email}

查询有效。

您在第一个查询中有错字:

AdminUsers.all.collect{|a|a.email} # should be AdminUser

更好的方法是使用 pluck 进行此类查询:

AdminUser.pluck(:email)