一般我们都要模型内使用validates_xxx_of 这样的确认信息。而这些信息是英文的,我们用三种方法来中文化它。
一、覆写:message:
validates_format_of :image_url,
:with => %r{.(gif|jpg|png)$}i,
:message => "必须是 GIF,JPG或PNG图片!!!"
使用这种方式时,我们就损失了一些通用信息的方便性。让我们看看第二种方式。
二、修改environment.rb文件:
在其中加入这些语句:
ActiveRecord::Errors.default_error_messages[:inclusion] = " 字段没有包括在列表内!"
ActiveRecord::Errors.default_error_messages[:exclusion] = " 字段已被保存过了!"
ActiveRecord::Errors.default_error_messages[:invalid] = " 字段是无效的!"
ActiveRecord::Errors.default_error_messages[:confirmation] = " 字段不匹配的信息!"
ActiveRecord::Errors.default_error_messages[:accepted] = " 字段必须接受此选项!"
ActiveRecord::Errors.default_error_messages[:empty] = " 字段不能为空!"
ActiveRecord::Errors.default_error_messages[:blank] = " 字段不能为空!"
ActiveRecord::Errors.default_error_messages[:too_long] = " 字段太长了(最大是 %d 个英文字符)!"
ActiveRecord::Errors.default_error_messages[:too_short] = " 字段太短了(最小是 %d 个英文字符)!"
ActiveRecord::Errors.default_error_messages[:wrong_length] = " 字段长度有错误(应该是 %d 个英文字符)!"
ActiveRecord::Errors.default_error_messages[:taken] = " 字段已经选择过了!"
ActiveRecord::Errors.default_error_messages[:not_a_number] = " 字段不是个数字!"
这样,你就获得了通用信息的方便性,即使你没有使用:message来覆写中文信息,你的view中显示的也是中文。
但是我发现它有两个不便之处:一是修改时要重启WEBrick才能生效。二是在测试时会提示出错的。我用了第三种方式。
三、修改application_help.rb文件:
在该文件中加入下面语句:
ActiveRecord::Errors.default_error_messages = {
:inclusion => " 字段没有包括在列表内!" ,
:exclusion => " 字段已被保存过了!" ,
:invalid => " 字段是无效的!" ,
:confirmation => " 字段不匹配的信息!" ,
:accepted => " 字段必须接受此选项!" ,
:empty => " 字段不能为空!" ,
:blank => " 字段不能为空!" ,
:too_long => " 字段太长了(最大是 %d 个英文字符)!" ,
:too_short => " 字段太短了(最小是 %d 个英文字符)!" ,
:wrong_length => " 字段长度有错误(应该是 %d 个英文字符)!" ,
:taken => " 字段已经选择过了!" ,
:not_a_number => " 字段不是个数字!" ,
}
在Ruby On Rails里面,当你在对一些数据进行验证的时候,如果在视图里使用<%= error_messages_for “xxx” %><%= error_message_on “xxx”, “xxx” %> 方法输出错误信息的时候,ror会自动帮你加上<div class=”xxx”>xxx</div>等这样的HTML标签,可是有时候我们并不想使用系统默认的标签处理,尤其是在WAP编程的时候,因为这些HTML标签WML根本就解析不了,所以我就希望不输出这些标签,只要得到干净的错误信息就行了,其实实现这种思路很简单,首先:
1:在application_helper.rb的全局转helper类里定义如下方法:
def clear_error_message_on(object, method, prepend_text = “”, append_text = “”, css_class = “formError”)
if errors = instance_variable_get(”@#{object}”).errors.on(method)
“#{prepend_text}#{errors.is_a?(Array) ? errors.first : errors}#{append_text}”
end
end
2:然后在需要显示错误信息的视图里调用这个方法就行,如:
<%= clear_error_message_on “page”, “title” %>
分享到:
相关推荐
赠送jar包:error_prone_annotations-2.5.1.jar; 赠送原API文档:error_prone_annotations-2.5.1-javadoc.jar; 赠送源代码:error_prone_annotations-2.5.1-sources.jar; 赠送Maven依赖信息文件:error_prone_...
wr_diab_compiler_error_messages_reference_5.9
使用当前的许可密钥集不允许进行此操作。请升级许可密钥以启用此操作。(FWB 00015) 原因 当前许可密钥不允许执行此操作(例如,使用第三方身份验证,或者修改服务器组或事件)。 操作 升级许可密钥。...
包含翻译后的API文档:error_prone_annotations-2.10.0-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:com.google.errorprone:error_prone_annotations:2.10.0; 标签:errorprone、error_prone_...
标签:errorprone、error_prone_annotations、google、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,...
赠送jar包:error_prone_annotations-2.2.0.jar; 赠送原API文档:error_prone_annotations-2.2.0-javadoc.jar; 赠送源代码:error_prone_annotations-2.2.0-sources.jar; 赠送Maven依赖信息文件:error_prone_...
赠送jar包:error_prone_annotations-2.1.3.jar; 赠送原API文档:error_prone_annotations-2.1.3-javadoc.jar; 赠送源代码:error_prone_annotations-2.1.3-sources.jar; 赠送Maven依赖信息文件:error_prone_...
标签:errorprone、error_prone_annotations、google、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,...
包含翻译后的API文档:error_prone_annotations-2.0.18-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:com.google.errorprone:error_prone_annotations:2.0.18; 标签:google、errorprone、error、...
赠送jar包:error_prone_annotations-2.0.18.jar; 赠送原API文档:error_prone_annotations-2.0.18-javadoc.jar; 赠送源代码:error_prone_annotations-2.0.18-sources.jar; 赠送Maven依赖信息文件:error_prone_...
赠送jar包:error_prone_annotations-2.3.4.jar; 赠送原API文档:error_prone_annotations-2.3.4-javadoc.jar; 赠送源代码:error_prone_annotations-2.3.4-sources.jar; 赠送Maven依赖信息文件:error_prone_...
包含翻译后的API文档:error_prone_annotations-2.3.2-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:com.google.errorprone:error_prone_annotations:2.3.2; 标签:errorprone、error_prone_...
error_prone_annotations-2.3.4.jar
该视图助手通过从模型中获取错误消息并将其与Flash消息(错误,确认等多种类型)组合并输出到视图中,从而替代了error_messages_for。 该gem附带示例样式表和图像。 安装:Rails 3.1+ Asset Pipeline(message_...
这个函数的目的是拥有一个独立于设备的;误差传递函数。报告错误信息;如果小部件是,则使用DIALOG_MESSAGE向用户发送;支持和消息,否则
Nordic51822 和 52832 的 APP_ERROR_CHECK(err_code)程序错误检查
赠送jar包:error_prone_annotations-2.3.3.jar; 赠送原API文档:error_prone_annotations-2.3.3-javadoc.jar; 赠送源代码:error_prone_annotations-2.3.3-sources.jar; 赠送Maven依赖信息文件:error_prone_...
包含翻译后的API文档:error_prone_annotations-2.3.3-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:com.google.errorprone:error_prone_annotations:2.3.3; 标签:google、errorprone、error、prone...
system_error_fix_master_setup.zip