代码之家  ›  专栏  ›  技术社区  ›  RichH

如何更改Rails中的“3个错误禁止保存此foobar”验证消息?

  •  8
  • RichH  · 技术社区  · 18 年前

    有什么方法可以用我自己的消息覆盖此默认消息吗?

    3 回复  |  直到 18 年前
        1
  •  11
  •   Yardboy    18 年前

    这个 error_messages_for 用于显示错误的帮助程序接受 :header_message 允许您更改默认标题文本的选项。例如:

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

    这个 RubyOnRails API

        2
  •  1
  •   Toby Hede    18 年前

    模型中的“validates”方法通常都可以通过 :message=>“我的验证消息”

    <% 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 %>  
    

    然后在我的 应用程序辅助程序 我迭代错误并生成一个简单的列表:

      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  
    

        3
  •  0
  •   Redbeard    18 年前

    您可以迭代model.errors散列,而不是使用errors助手。