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)
这个查询总是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)