我有Project
型號和User
型號。一個項目必須有一個客戶端(用戶類),所以Project
模型有一個client_id
外鍵。Rails Model驗證以檢查屬性的值
User
型號具有type
屬性,如果用戶是客戶端,將包含3
。
我想驗證項目分配給客戶端時,@user.type
是3
。
Project.rb
validates :client_id, presence: true, #@user.type must be 3
belongs_to :client, :class_name => User, :foreign_key => :client_id
User.rb
#constants
TYPES = {
:manager => 1,
:contractor => 2,
:client => 3
}
不要知道如何去驗證。我通過了有關驗證的導軌指南,但仍然無法獲得解決方案。有任何想法嗎?
是否可以使用'inclusion'助手來說「只有那些用戶ID 'type'是'3'嗎?我一直在嘗試,但是不能讓它工作。 – 2012-07-11 03:36:43
'validates:user_type,:inclusion => {:in => [3]}' – Dty 2012-07-11 06:04:17
不,不,也許對不起我不清楚,這是保存用戶ID,但是正在保存ID的用戶必須具有'3'作爲他們的'type'屬性。 – 2012-07-11 16:05:04