简体   繁体   English

Rails 4.2 ActiveAdmin获取管理员电子邮件地址

[英]Rails 4.2 ActiveAdmin get admins email addr

This query always returns [nil] 该查询始终返回[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? 为什么我无法获取电子邮件地址?

Update 更新资料

The email field itself is not nil .It is present in the AdminUser.all call and also this call retuns the correct email. email字段本身不是nil,它出现在AdminUser.all调用中,并且此调用还可以恢复正确的电子邮件。

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

Solution to the original problem 解决原始问题

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} 通过另一个问题 ,我attr_accessor我在model/admin_user.rb :email字段中添加了attr_accessor ,我将其删除,现在还删除了AdminUser.all.collect {| a | a.email}

query works. 查询有效。

You have a typo in first query: 您在第一个查询中输入错误:

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

The better way is to use pluck for such queries: 更好的方法是对此类查询使用pluck

AdminUser.pluck(:email)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM