Rails 关于 Rails API 问题

runup · 2014年04月13日 · 最后由 runup 回复于 2014年04月15日 · 2549 次阅读

在一般的教程里面关于验证字符的方法都是用

写法 1

validates :name, presence:true

表示验证该字符是否为空 但是在 rails 的 api 中关于验证的写法是

写法 2

validates_presence_of :name

类似比如说验证长度等的写法也是类似两种写法,功能也类似。

问题如下: 一般情况下使用写法 1 好还是写法 2 好,我看基本上的代码中都使用写法 1 的格式,这个是老版本的写法么?这两种写法在功能上是否有差别?

没区别。我比较喜欢第一种写法,因为通常别的 validations 还需要别的项目,这样好几个 validates 就可以排列得好看一点。

#1 楼 @billy 最近看 api,第二种写法在 rails4.1 的 api 上能看的到,但是第一种写法在哪里能找到依据?是之前的版本的,我对 3.2 之前的版本不熟悉。

#2 楼 @runup 反了吧?第二种 api 是 rails 2.x 遗留下来的。3.0 就改成第一种了。

#3 楼 @yuan 但是 4.1 的 api 是第二种写法

#5 楼 @billy 3ks 两种方式都可以~

#6 楼 @yuan 恩,一个问题有多种解决方式,认为还是第一种方法简洁些,谢谢前辈

1 是新写法

从 Rails 3 开始,都是推荐第一种写法的,不过少数遗留的代码和文档里包含第二种写法,也是可以运行的。

#10 楼 @kgen 谢谢指导,最近看看 api

需要 登录 后方可回复, 如果你还没有账号请 注册新账号