2011-12-23 74 views
1

我在观看Ruby On Rails Live Lessons视频和作者定义了一个Active Record User模型。在模型中,他使password_confirmation字段成为模型的一部分。这是RoR的标准做法吗?看起来很奇怪,我把它定义为模型的一部分...RoR AR用户模型

例如,您没有将电子邮件确认定义为模型的一部分或用户名确认。

这是正常/标准的回归实践吗?

回答

1

您可以将虚拟属性(即是在内存中只有他们不是由数据库支持的属性。)到AR模型。

对于模型的客户端,属性看起来是真实的,但它不存储在数据库中。

在此示例中,password_confirmation属性是虚拟的。

请记住,有认为Rails的用户模型的方法有两种:

  1. 用户模型描述了在数据库中
  2. 用户模型处理“用户”之间的相互作用,其余的Rails应用程序。

数字2是构建应用程序的首选方式。这是“厚模型,薄控制器”的座右铭背后的想法。

因此,将虚拟属性添加到模型以启用来自传入表单的属性的大规模设置通常很有意义。模型的方法会酌情使用真实和虚拟属性。