I've done this hundreds of times in 2.7x but in 2.81 I just can't get it to work no matter what I've tried. Sample file attached. I have a simple object I want to array to be, say, 5 kilometers long. I have bezier curve I want it to follow. It just doesn't work and gets twisted and distorted in weird ways. What on earth is wrong... Same scale, same origins, same orientations. What I want is to make it follow the path of the bezier curve, like a road.
There are two things that cause trouble:
1. Array orientation (little trouble)
Your array is facing the wrong way.
Just rotate it like this and set the Relative offset on the X axis.
2. Curve radius (big trouble)
The curve radius is set to 200 (waaay too high), which causes significant distortion.
Either change the curve radius to 1.
Or uncheck Radius in the curve properties.