我想在几个模型之间分享一些行为。至少有两种方法:
1)ActiveSupport::Concern
:
module Contentable
extend ActiveSupport::Concern
module InstanceMethods
#some shared behavior(validations, callbacks, etc)
end
end
class Content < ActiveRecord::Base
include Contentable
end
2)模型(类)继承:
class Content < ActiveRecord::Base
#some shared behavior(validations, callbacks, etc)
end
class Article < Content
end
我看到的第一个的唯一优点是您可以包含任意数量的模块这两种方法是否还有其他优点/缺点?