Có nơi thích hợp cho các phương thức trợ giúp cho các mô hình trong Rails không? Có các phương thức trợ giúp cho các bộ điều khiển và khung nhìn, nhưng tôi không chắc nơi nào là nơi tốt nhất để đặt các phương thức trợ giúp mô hình. Ngoài việc thêm phương thức vào ActiveRecord::Base
, tôi không muốn.Các phương thức trợ giúp cho các mô hình trong Rails
CẬP NHẬT: Có vẻ như Mối quan tâm rất có ý nghĩa. Đây là một ví dụ về những gì tôi muốn. Một số mô hình nhất định không bao giờ có thể bị xóa, vì vậy tôi thêm một cuộc gọi lại luôn ném một ngoại lệ:
before_destroy :nope
def nope
raise 'Deleting not allowed'
end
Với những lo ngại, tôi có thể làm điều gì đó như thế này?
class MyModel < ActiveRecord::Base
include Undeletable
end
module Undeletable
extend ActiveSupport::Concern
included do
before_destroy :nope
end
def nope
raise 'Deleting not allowed'
end
end
Đây có phải là cách Rails thực hiện việc này không?
Tại sao bạn không sử dụng mô-đun Ruby cũ đơn giản và trộn nó vào tất cả các lớp bạn muốn? –
'Trợ giúp cho mô hình' có nghĩa là gì? Có lẽ bạn đang tìm kiếm trang trí? –
Nó sẽ giúp ích nếu bạn đưa ra một ví dụ tôi nghĩ, sau đó mọi người có thể tư vấn về quy ước: có rất nhiều cách để làm bất cứ điều gì, nhưng thường gắn bó với quy ước là một ý tưởng tốt. –