If that's your exact code, then you haven't provided for any way to mark which item has been selected.
Just like you have to populate the value="" attribute in <input> tags, you have to populate the selected="selected" attribute of the <select> tag.
Here's the tedous way to do that, which whos you the prinicple. It assumes your form data is in
<select id="magazine_start_date_month" name="magazine[start_date_month]">
<option value=""></option>
<option value="1"<%= if magazine.start_date_month == '1'; ' selected="selected"'; end %>>January</option>
<option value="2"<%= if magazine.start_date_month == '2'; ' selected="selected"'; end %>>February</option>
<option value="3"<%= if magazine.start_date_month == '3'; ' selected="selected"'; end %>>March</option> ... </select>
Of course doing that manually for all select tags in your app can be tedious and prone to errors, so writing a generic routine to draw these things is usually a good idea. I have a general purpose library for defining, caching, and drawing value lists like this.
-- greg willits