То, как изменить “3 ошибки, мешало этому foobar сохраняться” сообщение проверки в направляющих?

8
задан James A. Rosen 24 September 2008 в 18:55
поделиться

3 ответа

error_messages_for помощник, которого Вы используете для отображения ошибок, принимает a :header_message опция, которая позволяет Вам изменять тот текст заголовка по умолчанию. Как в:

error_messages_for 'model', :header_message => "You have some errors that prevented saving this model"

RubyOnRails API является Вашим другом.

11
ответ дан 5 December 2019 в 14:07
поделиться

"Проверяет _" методы в Вашей модели, может все обычно передаваться a: обменивайтесь сообщениями => "Мой параметр" сообщения Проверки.

Я обычно переношу ошибки во что-то вроде этого:

<% if(!@model.errors.empty?) %>
<div id="error_message">        
  <h2>
    <%= image_tag("error.png", :align => "top", :alt => "Error") -%>
    Oops, there was a problem editing your information.
  </h2>
  <%= short_error_messages_for(:model) %>
</div>
<% end %>  

Затем в моем application_helper я выполняю итерации по ошибкам и генерирую простой список:

  def short_error_messages_for(object_name)
    object = instance_variable_get("@#{object_name}")
    if object && !object.errors.empty?
       content_tag("ul", object.errors.full_messages.collect { |msg| content_tag("li", msg) } )     
    else
        ""
    end
  end  

Тот код довольно стар и вероятно не, как я записал бы Ruby в эти дни, но Вы получаете суть.

1
ответ дан 5 December 2019 в 14:07
поделиться

Можно выполнить итерации по model.errors, хешируют себя вместо того, чтобы использовать ошибочного помощника.

0
ответ дан 5 December 2019 в 14:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: