# autoload concerns module YourApp class Application < Rails::Application config.autoload_paths += %W( #{config.root}/app/controllers/concerns #{config.root}/app/models/concerns ) end end # app/models/concerns/trashable.rb module Trashable extend ActiveSupport::Concern included do default_scope where(trashed: false) scope :trashed, where(trashed: true) end def trash update_attribute :trashed, true end end # app/models/message.rb class Message < ActiveRecord::Base include Trashable, Subscribable, Commentable, Eventable end