2012-02-25 58 views
2

我有類似:Rails的互斥領域

class Event 
    validates :name, :prescence => true 
    belongs_to :parent, class => "Event", foreign_key => "parent_id" 
    has_many :children, class => "Event" 

我想改變它,這樣,當一個事件沒有父項的名稱時,才需要。

回答

3
validates :name, :presence => true, :if => Proc.new {|event| event.parent.blank? } 

應該可以正常工作。請閱讀docs瞭解更多信息。

+0

您可以有一個可選的:if條件驗證。請閱讀:http://guides.rubyonrails.org/active_record_validations_callbacks.html#using-a-symbol-with-if-and-unless – Roadmaster 2012-02-25 19:47:44

+0

@Roadmaster感謝您的鏈接。我已將它添加到答案;) – lucapette 2012-02-25 19:49:54

+0

斷開的鏈接。你能更新它嗎?此外,這仍然是目前的做法嗎? – 2014-11-29 00:59:11