2011-09-26 3 views
0

날짜 필드에 대한 오류 메시지가 표시되지 않습니다 : 내 Event.rb에서레일 Formtastic 내가 같은 Formtastic 형태가

<%= semantic_form_for @event do |form| %> 
    <div class="field"> 
    <%= form.label :starts_at %><br /> 
    <%= form.datetime_select :starts_at, :discard_year => true, :minute_step => 30 %> 
    </div> 
<% end %> 

을, 내가 가진 :

validates_inclusion_of :starts_at, :in => Time.now..(Time.now + 1.year), 
        :message => "appointment must be between now and one year from now" 

이 (검증 작업 것으로 보인다 유효하지 않은 날짜의 인스턴스가 저장되지 않도록 함) 오류 메시지가 양식에 표시되지 않습니다. 유효성 검사가있는 다른 필드가 있고 Event.rb에 지정된 메시지가 모두 표시됩니다.

내가 잘못했거나 날짜 필드에 특별한 것이 있는지 궁금합니다.

답변

1

오류 메시지를 보려면 오류 메서드에 액세스해야합니다.

render_form_errors(form)

도우미 방법은 다음과 같습니다 :


def render_form_errors(form) 
    object = form.object 

    if object && object.errors.any? 
    message = 'Please fix these errors, then try again:'.html_safe 
    content_tag :div, message + form.semantic_errors(*object.errors.keys), :class => "form-error ui-state-error ui-corner-all" 
    else 
    '' 
    end 
+0

감사 리처드 양식 내부 도우미 메서드를 호출합니다. 왜 다른 오류가 Formtastic에 의해 올바르게 처리되는지 궁금합니다. – AdamNYC

+0

formtastic 2를 사용하는 경우 HTML5 속성을 사용하여 양식을 저장하지 않도록주의해야합니다. 어떤 경우에는 (나를 위해 CK Editor를 사용하는 WYSIWYG 필드였습니다) HTML5 메시지는 EDitor가 페이지에 삽입하는 방식 때문에 숨겨졌습니다. –

관련 문제