在我的一個模型中,我有一個before_create屬性,用於設置從Web API中獲取的特定值。但是,如果在使用API時未找到結果,則此before_create返回false,從而導致模型創建失敗。before_create失敗時顯示警告消息?
這工作正常,但我想也顯示一條警告消息,以便用戶知道他們的輸入未被接受。我會如何去做這件事?
在我的一個模型中,我有一個before_create屬性,用於設置從Web API中獲取的特定值。但是,如果在使用API時未找到結果,則此before_create返回false,從而導致模型創建失敗。before_create失敗時顯示警告消息?
這工作正常,但我想也顯示一條警告消息,以便用戶知道他們的輸入未被接受。我會如何去做這件事?
A before_create
是不正確的地方報告錯誤。您的before_create
應嘗試設置該值,然後驗證程序應檢查它是否存在,如果驗證程序未找到該值,則會收到錯誤消息等。所以,如果你的屬性稱爲pancakes
,那麼你就會有這樣的事情:
before_validation :stuff_web_api_value_into_pancakes, :if => :new_record?
validates_presence_of :pancakes
你可以,當然,使用不同的驗證比validates_presence_of
,這只是有用於說明目的。你需要一個before_validation
hook以正確的順序發生,:if => :new_record?
只會在創建新模型時運行。
請發佈您的'before_create'和其他相關代碼。 – s84