3

我想在几个模型之间分享一些行为。至少有两种方法:

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

我看到的第一个的唯一优点是您可以包含任意数量的模块这两种方法是否还有其他优点/缺点?

4

0 回答 0