Problem with new address creation

It seems, that CanCan load_and_authorize_resource method doesn't work properly when creating new address. In my fork address object is created directly from params, and then authorized via authorize! method. It doesn't cause db rollback any longer, new address is saved without problems.