`

如何 修改RAILS的默认错误提示 和 Rails validation error message 相关的合集

阅读更多
首先,有这样一个简单的问题,如果你想汉化,数字(不是长度)不能大于多少的model错误提示信息,怎么做?
那么,先说验证是validates_numericality_of而数字大于多少的话,应该用:greater_than_or_equal_to
如果是希望了解,类似上面的信息的话,可以参考下面
Active Record Validations and Callbacks
而,我想说的是,如果你添加了

validates_numericality_of
  :greater_than_or_equal_to 

之后,当然就有错误提示了,可是你不想要系统的错误提示那么怎么办?
当然,最方便的办法是
:message=>“”


确实,你写的错误提示显示了,可是问题来了,这样的话只要是这个字段验证不通过都会显示相同的错误提示。也就是说,
引用
:greater_than –
:greater_than_or_equal_to –
:equal_to –
:less_than –
:less_than_or_equal_to –
:odd –
:even –
都会显示相同的错误提示。

那么,我们可能用到下面的东西:
通过插件汉化Rails错误提示信息


1.在 your_app/vendor/plugins下建立一个新的文件夹“new_errors”

2.在新建的文件夹“new_errors”下建一个“lib”的文件夹。

最后如下:

your_app/vendor/plugins/new_errors/lib


3.在“new_errors”下建立一个init.rb“文件,内容为:

require "new_errors"


4.在”lib“下新增一个叫”new_errors.rb“的文件。

内容如下:

module ActiveRecord

class Errors

@@default_error_messages = {

:inclusion => "在列表中没有包含",

:exclusion => "is reserved",

:invalid => "is invalid",

:confirmation => "doesn't match confirmation",

:accepted => "must be accepted",

:empty => "can't be empty",

:blank => "can't be blank",

:too_long => "is too long (maximum is %d characters)",

:too_short => "is too short (minimum is %d characters)",

:wrong_length => "is the wrong length (should be %d characters)",

:taken => "已经存在了",

:not_a_number => "is not a number。Numbers ars things like 12345 ok?"

}

end

end


在这里面你就可以修改错误提示信息了。

当重新启动WEBRick的时候,plugs将自动被装入。


问题只剩一个了,没有针对数字的错误提示:

实际上,是有的应该参考
ActiveRecord::Errors.default_error_messages

Key	Value
:inclusion	“is not included in the list”
:exclusion	“is reserved”
:invalid	“is invalid”
:confirmation	“doesn’t match confirmation”
:accepted	“must be accepted”
:empty	“can’t be empty”
:blank	“can’t be blank”
:too_long	“is too long (maximum is %d characters)”
:too_short	“is too short (maximum is %d characters)”
:wrong_length	“is the wrong length (should be %d characters)”
:taken	“has already been taken
:not_a_number	“is not a number
:greater_than	“must be greater than %d”
:greater_than_or_equal_to	“must be greater than or equal to %d”
:equal_to	“must be equal to %d”
:less_than	“must be less than %d”
:less_than_or_equal_to	“must be less than or equal to %d”
:odd	“must be odd”
:even	“must be even”


update:

自己写的validate要写提示:
  class Comment < ActiveRecord::Base
    validate :must_be_friends

    def must_be_friends
      errors.add_to_base("Must be friends to leave a comment") unless commenter.friend_of?(commentee)
    end
  end

0
0
分享到:
评论

相关推荐

    Rails 101 入门电子书

    ### Rails 101 入门电子书知识点详解 #### 一、简介 《Rails 101 入门电子书》是一本非常适合初学者直接入门的书籍,它由xdite编写并出版于2014年6月10日。本书主要针对的是希望学习Ruby on Rails框架的读者,特别...

    Rails相关电子书汇总

    标题 "Rails相关电子书汇总" 暗示了这个压缩包包含了关于Ruby on Rails框架的电子书籍资源。Ruby on Rails,通常简称为Rails,是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,以...

    Rails项目源代码

    这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何利用Rails的强大功能来创建一个允许用户上传、分享和浏览图片的应用。 1. **Rails框架基础**: Rails的核心理念是DRY(Don't...

    Rails

    压缩包子文件的文件名称 "Ruby on Rails.pptx" 提示可能是一个关于Rails的PowerPoint演示文稿,其中可能涵盖了Rails的基础概念、安装步骤、主要组件介绍、开发流程、最佳实践,以及可能的示例代码和案例研究。...

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    Ruby on Rails,简称Rails,是由David Heinemeier Hansson创建的一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和可读性。在这个开发环境包中,我们拥有Ruby ...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    通过以上介绍,我们不仅了解了Rails的基础知识,还深入探讨了其核心组件——Active Record的相关概念和技术细节。这些内容对于初学者来说是非常宝贵的入门资料,同时也是进一步学习和实践的基石。随着对Rails的深入...

    使用Aptana+Rails开发Rails Web应用(中文)

    安装过程中,遵循提示进行,确保选择自定义安装并勾选Rails相关的插件,以便在Aptana中获得对Rails的全面支持。 安装完成后,打开Aptana Studio,创建一个新的Rails项目。在“File”菜单中选择“New”然后点击...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)

    Rails是Ruby语言的一个著名Web应用框架,以敏捷开发和“约定优于配置”为设计理念,深受开发者喜爱。在“Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)”中,包含了Rails从3.0到4.0各个主要版本的源代码,这些...

    Ruby on Rails安装指南(Ruby 1.8.6+Rails 2.0.2)

    随着互联网的快速发展,Ruby on Rails作为一种流行的Web开发框架,在开发领域得到了广泛的应用。它的简易性与高效性让许多开发者为之青睐。而想要在本地环境搭建Ruby on Rails的开发环境,掌握正确的安装步骤是基础...

    The Rails 4 Way

    - **Rails中的REST实现**:Rails默认遵循REST原则,通过资源路由和标准的控制器动作支持常见的CRUD操作。 - **资源和表示**:讨论如何将数据建模为资源,并如何通过不同的HTTP方法处理这些资源的不同状态。 **4. ...

    railsAPI

    Rails提供了一些内建的错误处理机制,如 rescued exceptions 和 custom error classes。同时,模型中的validations可以帮助确保数据在被保存到数据库之前满足一定的条件。 测试是Rails开发流程的重要部分。Rails...

    Rails3常用命令行命令

    Rails3 是 Ruby on Rails 框架的一个版本,它提供了一系列强大的命令行工具,使得开发者可以快速地构建和管理Web应用。在本文中,我们将深入探讨Rails3中的常用命令,帮助你更高效地进行开发工作。 首先,新建一个...

    中文版rails教程

    使用`rails generate`命令可以快速创建模型、控制器、视图等文件,如`rails generate scaffold Post title:string content:text`会生成一个名为Post的资源,包含相关的数据库迁移文件、模型、控制器和视图。...

    rails敏捷开发的购物车系统

    在本文中,我们将深入探讨如何使用Rails敏捷开发技术构建一个购物车系统,特别是在参考《rails敏捷开发第四版》中的示例。Rails 3.2.6是本文的基础框架,它是一个强大的Ruby Web应用程序框架,以其MVC(模型-视图-...

    rails api(文档)

    Rails API 是一个专门为构建应用程序接口(API)设计的Ruby on Rails框架版本。它专注于提供一套轻量级的工具,...同时,熟悉相关的Gem和工具,如 grape、rabl 或 jbuilder,可以帮助你进一步定制和扩展你的API功能。

    rails-api-4.0.0

    《Rails API 4.0.0:Ruby on Rails框架的API设计与开发指南》 Rails API 4.0.0是Ruby on Rails框架的一个版本,专门针对构建应用程序接口(APIs)进行了优化。Ruby on Rails是由David Heinemeier Hansson创建的开源...

Global site tag (gtag.js) - Google Analytics