Rails 4.2 ActiveAdmin获取管理员电子邮件地址 [英] Rails 4.2 ActiveAdmin get admins email addr
问题描述
此查询始终返回 [nil]
AdminUser.all.collect{|a|a.email}
不过,这两个查询都可以正常工作。
However these two queries just work fine.
AdminUser.all
AdminUser.all.collect{|a| a.current_sign_in_ip}
为什么我无法获取电子邮件地址?
Why can't i get the email addresses?
更新
电子邮件字段本身不是nil,它出现在中AdminUser.all
调用,此调用也会重新发送正确的电子邮件。
The email field itself is not nil .It is present in the AdminUser.all
call and also this call retuns the correct email.
>>au=AdminUser.find(1)
>>au[:email]
=>my@email.addr
原始问题的解决方案
通过另一个问题/问题我想通了在我的 model / admin_user.rb $ c中的
:email
字段中添加了 attr_accessor
$ c>我删除了它,现在
AdminUser.all.collect {| a | a.email}
Through another question/problem i figured out i added attr_accessor
on my :email
field in my model/admin_user.rb
i removed it and now also the
AdminUser.all.collect{|a|a.email}
查询也可以。
推荐答案
您在第一个查询中输入错误:
You have a typo in first query:
AdminUsers.all.collect{|a|a.email} # should be AdminUser
更好的方法是使用 pluck
进行此类查询:
The better way is to use pluck
for such queries:
AdminUser.pluck(:email)
这篇关于Rails 4.2 ActiveAdmin获取管理员电子邮件地址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!