Four constructions for Ferrers diagram rank-metric (FDRM) codes are presented. The first one makes use of a characterization on generator matrices of a class of systematic maximum rank distance codes. By introducing restricted Gabidulin codes, the second construction is presented, which unifies many known constructions for FDRM codes. The third and fourth constructions are based on two different ways to represent elements of a finite field $mathbb F_{q^m}$ (vector representation and matrix representation). Each of these constructions produces optimal codes with different diagrams and parameters.