According to https://github.com/ryanb/cancan/wiki/Fetching-Records (It will raise an exception if any requested model's ability definition is defined using just block. As of 1.4, you could define SQL fragment in addition to block), linking to https://github.com/ryanb/cancan/wiki/Defining-Abilities-with-Blocks#wiki-fetching-records, we should define the SQL query defining the condition as an SQL query.