[V17] Rails 3.1 porting

Rebased #438.