- 浏览: 178483 次
- 性别:
- 来自: 北京
最新评论
-
angjunwen:
^[1-9]\d*|0$ 这个能处理小数吗?
ruby on rails 常用正则表达式 -
hot88zh:
<div class="quote_title ...
Ruby如何用Oauth与第三方网站互动 -
Hooopo:
为什么这么多踩的呢
Ruby如何用Oauth与第三方网站互动 -
robbinwork:
顶
改良程序的11技巧 -
rogerer:
请问ROR上传大文件,怎么解决内存占用问题:1. lightt ...
查询rails的API
可以自定义validate(), 这个方法在每次保存数据时都会被调用.
如:
def validate
if name.blank? && email.blank?
errors.add_to_base("You must specify a name or an email address")
end
end
同时也可以自定义 validate_on_create(), validate_on_update()方法.
valid?()方法可以随时调用,用来测试数据是否能通过校验
返回的错误信息可用 error_messages_for(model)方法显示.
如:<%= error_messages_for 'article' %>
校验大全:
validates_acceptance_of
指定checkbox应该选中. (如:(*)我同意条款)
用法:validates_acceptance_of attr... [ options... ]
参数:message text 默认:“must be accepted.”
:on :save, :create, or :update
实例:
class Order < ActiveRecord::Base
validates_acceptance_of :terms,
:message => "Please accept the terms to proceed"
end
validates_associated
查验指定的object.
用法:validates_associated name... [ options... ]
参数:message text 默认: is “is invalid.”
:on :save, :create, or :update
实例:
class Order < ActiveRecord::Base
has_many :line_items
belongs_to :user
validates_associated :line_items,
:message => "are messed up"
validates_associated :user
end
validates_confirmation_of
数据重校
用法:validates_confirmation_of attr... [ options... ]
参数:message text 默认 “doesn’t match confirmation.”
:on :save, :create, or :update
实例:
对密码表:
<%= password_field "user", "password" %><br />
<%= password_field "user", "password_confirmation" %><br />
#第二表名为xxxx_confirmation
class User < ActiveRecord::Base
validates_confirmation_of :password
end
validates_each
使用block检验一个或一个以上参数.
用法:validates_each attr... [ options... ] { |model, attr, value
| ... }
参数:allow_nil boolean 设为true时跳过nil对象.
:on :save, :create, or :update
实例:
class User < ActiveRecord::Base
validates_each :name, :email do |model, attr, value
|
if value
=~ /groucho|harpo|chico/i
model.errors.add(attr,"You can't be serious, #{value
}")
end
end
end
validates_exclusion_of
确定被检对象不包括指定数据
用法:validates_exclusion_of attr..., :in => enum [ options... ]
#enum指一切可用include?()判断的范围.
参数:allow_nil 设为true将直接跳过nil对象.
:in (or :within) enumerable
:message text 默认为: “is not included in the list.”
:on :save, :create, or :update
实例:
class User < ActiveRecord::Base
validates_exclusion_of :genre,
:in => %w{ polka twostep foxtrot },
:message =>"no wild music allowed"
validates_exclusion_of :age,
:in => 13..19,
:message =>"cannot be a teenager"
end
validates_inclusion_of
确认对象包括在指定范围
用法:validates_inclusion_of attr..., :in => enum [ options... ]
参数:allow_nil 设为true直接跳过nil对象
:in (or :within) enumerable An enumerable object.
:message text 默认:“is not included in the list.”
:on :save, :create, or :update
实例:
class User < ActiveRecord::Base
validates_inclusion_of :gender,
:in => %w{ male female },
:message =>"should be 'male' or 'female'"
validates_inclusion_of :age,
:in => 0..130,
:message =>"should be between 0 and 130"
end
validates_format_of
用正则检验对象
用法:validates_format_of attr..., :with => regexp [ options... ]
参数:message text 默认为: “is invalid.”
:on :save, :create, or :update
:with 正则表达式
实例:
class User < ActiveRecord::Base
validates_format_of :length, :with => /^\d+(in|cm)/
end
validates_length_of
检查对象长度
用法:validates_length_of attr..., [ options... ]
参数:in (or :within) range
:is integer
:minimum integer
:maximum integer
:message text 默认文字会根据参数变动,可使用%d 取代确定的最大,最小或指定数据.
:on :save, :create, or :update
:too_long text 当使用了 :maximum后的 :message
:too_short text ( :minimum )
:wrong_length ( :is)
实例:
class User < ActiveRecord::Base
validates_length_of :name, :maximum => 50
validates_length_of :password, :in => 6..20
validates_length_of :address, :minimum => 10,
:message =>"seems too short"
end
validates_numericality_of
检验对象是否为数值
用法:validates_numericality_of attr... [ options... ]
参数:message text 默认 “is not a number.”
:on :save, :create, or :update
:only_integer
实例:
class User < ActiveRecord::Base
validates_numericality_of :height_in_meters
validates_numericality_of :age, :only_integer => true
end
validates_presence_of
检验对象是否为空
用法:validates_presence_of attr... [ options... ]
参数:message text 默认:“can’t be empty.”
:on :save, :create, or :update
实例:
class User < ActiveRecord::Base
validates_presence_of :name, :address
end
validates_uniqueness_of
检验对象是否不重复
用法:validates_uniqueness_of attr... [ options... ]
参数:message text 默认: “has already been taken.”
:on :save, :create, or :update
:scope attr 指定范围
实例:
class User < ActiveRecord::Base
validates_uniqueness_of :name
end
class User < ActiveRecord::Base
validates_uniqueness_of :name, :scope =>"group_id"
end
#指定在同一group_id的条件下不重复.
常用正则
:
E-Mail地址格式
:
validates_format_of :email,
:with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i,
:message => 'email must be valid'
网址格式:
validates_uri_existence_of :url, :with =>
/(^$)|(^(http|https)://[a-z0-9] ([-.]{1}[a-z0-9] )*.[a-z]{2,5}(([0-9]{1,5})?/.*)?$)/ix
发表评论
-
linux下进入rails console提示cannot load such file -- readline
2011-12-17 20:38 2701在linux下输入rails console,之后提示错误,如 ... -
在Windows7中编译Mysql2的GEM
2011-11-08 15:47 0If you still want to force t ... -
CentOS用gem安装Mysql2提示缺少mysql.h
2011-08-30 12:17 2777环境: CentOS6 Ruby1.9.2 Rails3.0. ... -
Rake提示uninitialized constant Rake::DSL解决办法
2011-06-20 00:09 3672环境:Ruby 1.9.1/Rails 3.0.9/Rake ... -
Debian5安装Thin时候出现no such file to load -- openssl
2011-04-19 22:38 1062今天在执行thin install的时候,出现no such ... -
oauth GEM的几个小例子
2011-03-22 08:32 15031、注册并认证你的应用 #!/usr/bin/r ... -
Ruby如何用Oauth与第三方网站互动
2011-03-13 12:25 2019首先是介绍一下这个gem:oauth 项目首页是:http: ... -
升级gem提示缺少no such file to load zlib
2011-02-20 01:16 1287升级gem提示 no such file to load zl ... -
使用Ruby解析图片EXIF数据获取坐标信息
2011-01-10 08:32 1779最近在做一个项目时需要将图片EXIF信息解析出来并获取相应 ... -
Paperclip提示command is not recognized by the 'identify
2011-01-05 00:43 2241用Paperclip来裁减图片,会提示如下错误: /tmp/ ... -
在Debian上部署Ruby On Rails应用(续)
2011-01-05 00:36 1195写在前面: 其实这个续应该和前面那个部署的文章互换一下顺序… ... -
Ruby1.9.2+Rails3.0.3迁移文件中加索引出错的解决办法
2011-01-03 23:53 1511环境: Ruby1.9.2 Rails3.0.3 Gem ... -
rails3使用declarative_authorization注意事项
2010-11-17 17:32 1161Rails3中把declarative_authorizati ... -
rails3使用restful-authentication
2010-11-09 14:01 1980首先要下载支持Rails3的restful-authentic ... -
Ubuntu安装Mysql Gem
2010-11-03 14:49 1258在安装过程中出现如下错误: Building native e ... -
如何寫出有效率的 Ruby Code
2010-09-28 22:44 988Instance Variables versus Acces ... -
Rails Migration Data Types – MySql – Postgresql – SQLite
2010-06-04 19:09 1146Rails mysql post ... -
request.env
2009-11-11 13:16 1115@client_ip = request.env[" ... -
Active Record Validations and Callbacks
2009-11-08 22:39 1306有许多种在保存数据到 ... -
关于ActiveRecord::Observer
2009-11-02 13:58 900Observer 类会对外部的原始类内在生命周期内实现触发行 ...
相关推荐
《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...
Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 ...
Ruby on Rails Guides v2 - Ruby on Rails 4.2.5
Ruby On Rails中文教材(PDF)
ruby on rails社区网站开发源码
Ruby on Rails Web开发学习实录 内容简介: 在目前的主流web开发技术中,基于ruby语言的rails框架是做网站开发速度最快的工具。它可以达到j2ee框架开发速度的5~10倍,并且代码量也非常少。另外由于代码量的大幅度...
ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作
本书的目标是成为对“如果想学习使用 Ruby on Rails 进行 Web 开发,我应该从哪儿开始?”这一问题的最好答案。学习完本书的内容之后,你将具备使用 Rails 进行开发和部署 Web 程序的技能。同时你还能够通过一些进阶...
Ruby On Rails 官方教程,这本书讲解如何使用 Ruby on Rails 框架开发应用,以及如何把应用部署到生成环境。本书使用 Rails 默认的开发工具栈开发了一个完整的社交应用(类似 Twitter)。读完本书后你将掌握如何使用...
ruby on rails 教程源码,配合原书使用
ruby on rails最新版 这是本人精心收集的重要软件
本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。
ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)
Ruby on Rails中文指南
该资源包包括在Linux安装Ruby on Rails所需的包,以及安装步骤文档
Ruby On Rails 框架自它提出之日起就受到广泛关注,在“不要重复自己”,“约定优于配置”等思想的指导下,Rails 带给 Web 开发者的是极高的开发效率。 ActiveRecord 的灵活让你再也不用配置繁琐的 Hibernate 即可...
ruby on rails api方便查阅
最新Ruby on Rails中文版介绍,欢迎大家共同学习此最新的技术!随着Ruby和Rails版本的不断升级,这些知识也在不断的更新,谢谢的支持!
基于ruby on rails开发示例源码