Rails ActiveRecord::Relation error

半腔热情 提交于 2019-12-23 05:11:59

问题


Looking into passing a variable as value on ActiveRcord query key/column?

login = Login.where("email_address" => "geo@bostj.com","active" => 1).select("id")
=> [#<Login id: 767>]
login = Login.where("email_address" => "geo@bostj.com","active" => 1).select("id").class
=> ActiveRecord::Relation

admin = Admin.where("login_id"=>login).exists?

Heeeelp


回答1:


I would do:

login = Login.where(email_address: 'geo@bostj.com', active: 1)
Admin.exists?(login_id: login.pluck(:id))



回答2:


You can write as

login_ids = Login.where("email_address" => "geo@bostj.com","active" => 1).pluck(:id)
Admin.where("login_id in (?)", login_ids).blank?

blank?

Returns true if relation is blank.

Admin.where("login_id in (?)", login_ids) gives back us ActiveRecord::Relation object, so I think we can use #blank? method.




回答3:


It should be

admin = Admin.where("login_id" => login.first.id).exists?


来源:https://stackoverflow.com/questions/23951490/rails-activerecordrelation-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!