Tôi biết rằng before_filter chỉ dành cho bộ điều khiển trong Rails, nhưng tôi muốn một cái gì đó như thế này cho một mô hình: bất cứ khi nào một phương thức trong mô hình của tôi được gọi, tôi muốn chạy một phương pháp xác định . Khái niệm, một cái gì đó như thế này:Mô hình đường ray "before_filter"?
class Website < ActiveRecord::Base
before_filter :confirm_company
def confirm_company
if self.parent.thing == false?
return false
end
end
def method1
#do stuff
end
end
Vì vậy, khi tôi gọi @ website.method1, trước tiên nó sẽ gọi confirm_company và nếu tôi trả về false, sẽ không chạy phương thức1. Rails có chức năng như thế này không? Tôi hy vọng tôi chỉ bỏ lỡ một điều gì đó hiển nhiên ở đây ...
Bạn có nghĩa là [Active Record Callback] (http://guides.rubyonrails.org/active_record_validations_callbacks.html#callbacks-overview)? – Mischa
Có, gọi lại là những gì tôi cần, tôi đoán vậy. Nhưng không ai trong số các callbacks có sẵn có thể làm những gì tôi sau. Tôi không tiết kiệm, xác nhận, intializing ... Tôi đang gọi một phương pháp. –
bạn có thể sử dụng một đối tượng proxy và ủy quyền cho mô hình nếu điều kiện của bạn được đáp ứng – apneadiving