Ach, just bit him.
When you have form fields with errors, the rails change the output of auxiliary form methods such as #label and #text_field.
As a result, your pretty little “label” and “enter” labels are still emitting - just “stealth” wrapped around the surrounding div. For instance:
f.label :name
:
<label for="name">Name</label>
in
<div class="field_with_errors"><label for="name">Name</label></div>
The default behavior for a div is a “block” that causes line breaks.
You can fix this by modifying css. As an example:
div.field_with_errors { display: inline; }
source share