在Rails 5.2.3中查找条件语法

时间:2019-05-23 05:38:55

标签: ruby-on-rails

我正在将一个旧的RoR应用程序升级到Rails 5.2.3,并且想知道5.2.3下一行的正确语法:

    default :to => User.find(:all, :conditions => ["admin=?", true]).map(&:email_addr), :from => "foo@grbx.com"

我遇到的错误是:

    Error: The application encountered the following error: Couldn't find all Users with 'id': (all, {:conditions=>["admin=?", true]}) (found 0 results, but was looking for 2). (ActiveRecord::RecordNotFound)

2 个答案:

答案 0 :(得分:1)

尝试一下

User.where(admin: true).pluck(:email_addr)

答案 1 :(得分:0)

`
User.find(:all, :conditions => ["admin=?", true]).map(&:email_addr)
` 

The above command is deprecated in rails 4,5.
You can use

`
User.where(admin: true).map(&:email_addr)
User.where(admin: true).collect(&:email_addr)
User.where(admin: true).pluck(:email_addr)
`