2011-12-23 76 views
1

我在觀看Ruby On Rails Live Lessons視頻和作者定義了一個Active Record User模型。在模型中,他使password_confirmation字段成爲模型的一部分。這是RoR的標準做法嗎?看起來很奇怪,我把它定義爲模型的一部分...RoR AR用戶模型

例如,您沒有將電子郵件確認定義爲模型的一部分或用戶名確認。

這是正常/標準的迴歸實踐嗎?

回答

1

您可以將虛擬屬性(即是在內存中只有他們不是由數據庫支持的屬性。)到AR模型。

對於模型的客戶端,屬性看起來是真實的,但它不存儲在數據庫中。

在此示例中,password_confirmation屬性是虛擬的。

請記住,有認爲Rails的用戶模型的方法有兩種:

  1. 用戶模型描述了在數據庫中
  2. 用戶模型處理「用戶」之間的相互作用,其餘的Rails應用程序。

數字2是構建應用程序的首選方式。這是「厚模型,薄控制器」的座右銘背後的想法。

因此,將虛擬屬性添加到模型以啓用來自傳入表單的屬性的大規模設置通常很有意義。模型的方法會酌情使用真實和虛擬屬性。