2013-05-28 3 views
1

я пытаюсь использовать simple_form для сделать мой взгляд формы более readibleИспользование simple_form с начальной загрузки - неопределенный метод «error_messages»

Он теперь выглядит так:

<%= simple_form_for @some_object, url: some_url, :html => {:class => 'form-horizontal' } do |f| %> 

    <%= f.error_messages %> 
    <%= f.input :phone %> 
    <div class="form-row"> 
    <%= f.submit "Submit", :class => 'btn btn-primary' %> 
    <a class="btn btn-link" href="<%= object.to_url %>" title="Cancel" data-event="post_cancel_click"><span>Cancel</span></a> 
    </div> 
<% end %> 

К сожалению, я получаю undefined method error_messages' для SimpleForm :: FormBuilder: 0xb385c948`

Когда я не использую error_messages, тогда формируется форма, но при возникновении ошибки она не отображается.

ответ

1

Это насколько я знаю правильно. Простая форма не знает, что такое «error_messages». При проверке документации, говорится:

<%= simple_form_for @user do |f| %> 
    <%= f.input :username %> 
    <%= f.input :password %> 
    <%= f.button :submit %> 
<% end %> 

Это будет генерировать всю форму с метками для имени пользователя и пароля, а также, и делает ошибки по умолчанию при визуализации формы с недостоверными данными (после отправки, например).

Я считаю, что может быть по крайней мере два решения вашей проблемы:

1) Вы можете указать в файле инициализации simple_form.rb, с которым тег ваше сообщение об ошибке будет завернутые, как это:

b.use :error, :wrap_with => { :tag => :span, :class => :error } 

Проверить here для более или в документации

2) Используйте f.error помощника, как это описано в docs

Смежные вопросы