2015-07-21 36 views
0

我有我要檢查並丟棄記錄它的保存之前,如果不能通過從法條件的代碼看起來像這樣的汽車模型,通過條件的記錄:我怎麼能拒絕這不是模型

class Car < ActiveRecord::Base 
    after_save :wheel_not_zero 
    def wheel_not_zero 
    false if self.wheel_num == 0 
    end 
end 

通過此解決方案,它將拒絕用戶從窗體發送錯誤並重定向到的所有汽車。我只想拒絕符合條件的汽車與外出重定向形成一次。

創建通過從成員模型嵌套屬性車記錄的關係是這樣的

member -> car,所以我要救成員記錄和不匹配條件的汽車記錄,現在它拒絕所有記錄。

謝謝所有響應:)

+1

何不做一個驗證這裏而不是回調? – Pavan

+0

抱歉,我已經添加了更多信息。我通過嵌套屬性保存汽車記錄,如果它只包含一輛符合條件的汽車,它會拒絕每一條記錄。 – DrNutsu

回答

0

重定向不是來自模式,而是從控制器到視圖。所以如果你想丟棄記錄,你應該使用一個驗證器,在控制器中你應該管理這個異常。 例如:如果記錄是無效的,你可以重定向到主頁或在其他網頁..

重要的是牢記重定向是從模型中分離

+0

抱歉不明確的問題,我使用嵌套的屬性保存記錄我的模型關係是這樣的 'member - > car',所以我通過嵌套屬性在member_controller上保存汽車記錄,我無法處理直接從成員控制器重定向。 – DrNutsu

+0

http://homeonrails.com/2012/10/validating-nested-associations-in-rails/它可能對你有用 – user1066183

+0

你可以接受我的答案,如果它對你有用 – user1066183