Ruby on Rails Rails Cookbook - Advanced rails recipes/learnings and coding techniques Handling the error - undefined method `where' for #


Sometimes we want to use a where query on a a collection of records returned which is not ActiveRecord::Relation.Hence we get the above error as Where clause is know to ActiveRecord and not to Array.

There is a precise solution for this by using Joins.


Suppose i need to find all user profiles(UserProfile) which are active which is not a user(User) with an id=10.


So above query will fail after map as map will return an array which will not work with where clause.

But using joins,will make it work,


As joins will output similar records like map but they will be ActiveRecord and not an Array.