Bạn có thể tạo CTE như:
lookup = Arel::Table.new(:lookup) # Lookup.arel_table
cte = Arel::Nodes::As.new(lookup,
lookup.where(lookup[:slug].eq('foo-bar')).project('the_geom'))
và sau đó sử dụng nó với phạm vi của bạn như:
scope.with(cte)
Bạn có thể xem ví dụ cho điều này trong Arel README , ở dưới cùng