[V20] Rails 3.1 porting

Rebased #468.