How to rotate objects in array along path
An array modifier duplicates the object multiple times, the curve modifier can then control the direction of the duplications. The curve modifier uses the chosen axis of the object when it does the deform, the offset dimensions of the array modifier need to match the axis that the curve modifier is using.



Each point in a curve has a tilt property. You can use this to align the objects second axis to point the direction you want. You can use CtrlT to interactively alter the tilt in the viewport.