2015-06-11 2 views
0

Я пытаюсь сделать частичную в моей папке просмотра, которую он разделяет для сообщений об ошибках.Rails - сообщения об ошибках Simple Form

Я хочу удалить стандартное сообщение об ошибке простой формы и заменить его собственным стилем - на всех моделях.

Мой вопрос в том, как я могу ссылаться на соответствующую модель в моем частичном. В зависимости от того, где он используется, он должен ссылаться на форму, в которую включен частичный.

Например, стандартный блок простой формы ошибка:

<% if @question.errors.any? %> 
    <div id="error_explanation"> 
     <h2><%= pluralize(@project_question.errors.count, "error") %> prohibited this question from being 
     saved:</h2> 

     <ul> 
     <% @project_question.errors.full_messages.each do |msg| %> 
      <li><%= msg %></li> 
     <% end %> 
     </ul> 

Как заменить @question, с @ [независимо соответствующая модель называется]?

Спасибо

+0

вы можете передать его через 'locals' в частичную – usmanali

ответ

0

Для этого вы можете сделать частичный _error_messages, html.erb

<% if model.errors.any? %> 
    <div id="error_explanation"> 
    <h2> 
     <%= pluralize(model.errors.count, "error") %> prohibited 
     this from being saved: 
    </h2> 
    <ul> 
     <% model.errors.full_messages.each do |msg| %> 
     <li><%= msg %></li> 
     <% end %> 
    </ul> 
    </div>  
<% end %> 

И вы можете сделать это частичное на ваш взгляд as:

<%= render partial: "error_messages", locals: {model: @question} %> 
Смежные вопросы