달이 1부터 31까지의 날짜가있는 모음이 있습니다. 내 모델에서 유효성을 검사합니다. : birth 오류가있는 페이지가로드되면 "하루"라는 메시지가 내 드롭 다운 상자에 더 이상 나타나지 않습니다. 내 모델에서 내보기콜렉션에는 오류 발생 후 프롬프트가 포함되지 않습니다.
<%= f.label :birth %>
<%= f.collection_select(:birth_day, 1..31, :to_i, :to_i , :prompt=>'Day') %>
에서
validate :validate_dates
def validate_dates
b_month = self.birth_month.to_i
if (b_month == 4 || b_month == 6 || b_month == 9 || b_month == 11)
if (self.birth_day == 31)
self.errors.add(:birth, "is invalid")
end
end
end
생성 된 소스 - 오류 전에
<label for="individual_birth">Birth</label>
<select id="individual_birth_day" name="individual[birth_day]">
<option value="">Day</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
....
</select>
생성 된 소스 - 오류 후
<div class="field_with_errors"><label for="individual_birth">Birth</label></div>
<select id="individual_birth_day" name="individual[birth_day]">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
....
<option value="31" selected="selected">31</option>
</select>
,
내가 뭘 잘못하고 있는지 알려주세요. Day는 필수 필드가 아니기 때문에 드롭 다운에서 프롬프트가 필요합니다. 감사!
해당 요소에 대해 생성 된 HTML을 전후에 게시 할 수 있습니까? –
생성 된 HTML을 추가했습니다. 감사! –