4
我正在編寫一個Ruby on Rails應用程序,它有兩個模型 - User和Farm。如果用戶的農民字段設置爲true,則該用戶被認爲是農民。但是,農民沒有單獨的課程。ActiveRecord中零或一個關聯
用戶可能有一個農場,或者根本沒有農場。 (我相信這被稱爲零或一個關係)。如果我把:
has_one :farm
在用戶模式
和
belongs_to :user
在農場模型,這將創建用戶和農場之間的一個一對一的關係,意味着每個用戶都有一個農場。如果我這樣做了,每個用戶都會有一個農場,並且這沒有什麼意義,因爲有些用戶不能擁有一個農場。
總之,我想要的是一個用戶有一個農場,只要他們的農民布爾值設置爲true。否則,這種關係不應該存在。他們是如何使用ActiveRecord來實現這一目標的方式?
你可以使用驗證? http://guides.rubyonrails.org/active_record_validations_callbacks.html#validations-overview – MrYoshiji
驗證是要走的路 –
所以我應該創建農場作爲一個常規字段,而不是使用任何關聯助手?然後只有在驗證「farmer == true」時才創建農場? –