This follows this prior question, which was answered. I actually discovered I could remove a join from that query, so now the working query is
start_cards =
Or in Rails 3 you can use the readonly method (replace "..." with your conditions):
( Deck.joins(:card) & Card.where('...') ).readonly(false)