ruby-on-rails – 对于Rails应用程序,我应该在数据库和模型中进行验证吗?

我来自一个尽可能完全定义数据库模式的背景,例如:字段长度,非空,认值,复杂的参照完整性等.使用Rails,我必须在模型中完成所有这些以获得智能验证.那么我也要复制数据库定义中的所有内容吗?

例如,如果电子邮件是必填字段,我是否添加验证:email,:presence =>对模型AND为真:null =>迁移错误

字符串怎么样?如果我有:length => {:maximum => 50}在模型中,我是否也想要:limit =>迁移50?

我是否将外键添加数据库以强制实施参照完整性?

或者是在模型中尽可能多地执行“Rails方式”并将数据库保留为“哑”持久性引擎?

解决方法

绝对添加:null =>假.否则你的DBA可能会伤害你.您的Rails应用程序并不是唯一触及数据库的应用程序.

最大长度为您提供增益DB内存.绝对设置最大长度,但一定要添加rails验证.如果不是,您可能会遇到奇怪的应用程序错误.

外键很好但在rails应用程序中使用较少

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...