I prefer Sequel::Dataset capabilities to Arel’s Relation for several reasons, not least of which is Sequel’s row_proc. Which lets you bend reality and perhaps time itself when you want the best of both worlds:
1 2 3 4 5 6 7 8 9 10 11
Now if you have
1 2 3
you can do things like this in the controller, using Sequel’s querying capabilities…
…and naturally this in the view
1 2 3 4
You’ll end up having 2 db connections – one for ActiveRecord and one for Sequel. Which is fine unless you have a transaction and one connection does a write which you’re expecting to show up in the other connection. Like in unit tests. So turn transactional fixtures off for those.
Calling ActiveRecord::Base.instantiate skips callbacks. I’m sure there’s an easy way to hook them back in again.