2011-04-07 47 views
1

我的問題是下一:問題errors_add_to_base的Rails

我有驗證圖像尺寸

def validates_attachment_dimension 
    aspect = self.width/self.height 
    if aspect < 0.95 || aspect > 1.05 
     errors.add_to_base("La imagen '#{self.photo_file_name}' debe tener un aspecto cuadrado") 
    end 
    end 

我有具有與圖像的其它模型(子)的關係的父模型的方法。所以當我檢查@parent_model的渲染視圖(我檢查@ parent_model.errors ... errors.child_model.base) @ parent_model.errors沒有錯誤(只保存第一個錯誤child_model)

但是,當我讀取child_model中的錯誤屬性是好的(@ parent_model.child_model.errors ...)。

爲什麼我有這個問題? 我怎樣才能同時顯示各種模型的錯誤?

+1

'add_to_base'增加了錯誤的「基地」,即模型,而不是該模型的任何特定領域(add_to_base之間'的區別(「XXX」)'和'加(:名稱, 「太長」)')。 'add_to_base'並不意味着「向父關聯添加錯誤」。 – Zabba 2011-04-07 17:22:32

+0

@Zabba OK我使用'add_to_base'方法,因爲我想用full_messages顯示自定義錯誤(我不顯示屬性名稱)。那麼如何使用'添加'方法並且不要顯示屬性名稱 – maxiperez 2011-04-07 17:29:33

+0

@Zabba謝謝。我使用'add'方法。所以我使用photo_file_name作爲屬性來顯示和消息。 – maxiperez 2011-04-07 17:42:04

回答

0

我用'add'方法替換'add_to_base'方法。那麼我可以顯示一個自定義消息。

感謝Zabba