2017-04-16 81 views
-1
class TestController < ApplicationController 
    def create_order 

    end 
end 


class Model < ActiveRecord::Base 

    before_create :my_callback 

    def my_callback 
    if this_value != test_value 
     raise ActiveRecord::RecordInvalid 
    end 

    rescue Exception => exception 
     false 
    end 
end 

在這裏,我有一個控制器和模型,當請求即將該功能create_order,我檢查兩個值是相同的或不回調before_create,這裏的問題我想提在模型中的異常,並捕獲在控制器中顯示他們,我已經試過這種方式,這將回滾,但它沒有給我在控制器的任何異常,有沒有辦法做到這一點?異常與回調處理,軌

回答

0

用於該用途的驗證:

validates :this_value, inclusion: { in: [test_value] } 

,或者如果test_value是一個方法:

validates :this_value, inclusion: { in: proc { call_your_method_here } }