2010-06-03 67 views
2

這聽起來有點奇怪,但是如果某個屬性爲空白,那麼會有'Rails方式'讓模型被銷燬?假設我有一個像tags這樣的模型,只需要一個名稱屬性或者其他的東西,如果用戶編輯標籤並刪除名稱字段中的所有文本,我希望模型被刪除。我知道reject_if方法,但這似乎並不奏效。Rails,如果空白就銷燬

回答

6

在after_save回調中,只需檢查屬性並銷燬模型(如果它爲空)。喜歡的東西:

class Tag < ActiveRecord::Base 
    after_save { |tag| tag.destroy if tag.name.blank? } 
end 
+0

這樣的作品,如果有做像一個3個字母的方法,一些超級史詩railsy方式只是好奇...呀知道他們是怎麼想雅有時驚喜... – 2010-06-03 02:00:40

+0

笑,一行對於你不夠好? )我知道你的意思。 Ruby確實傾向於破壞你。 – 2010-06-03 14:01:44

+0

你的解決方案很棒,但是我想我總是覺得當我看到小捷徑等時我做錯了事,再次感謝! – 2010-06-03 18:11:08