[V28] Rails3 backporting to Rails2

rebased #653.