# Rails concerns Topics: [[Ruby on Rails]] Concerns are [[Ruby Mixins]] with added DSL to simplify their use in [[Ruby on Rails]], specifically models based on [[Rails ActiveRecord]]. ## Reusable concerns vs one-off concerns Concerns are often presented as the solution to isolate shared logic between models, for example `Auditable` or `Serializable`. However, concerns are also useful when they are only used for a single model because they allow to push logic that is only tangentially related but tightly coupled to a model to the periphery. This improves the [[Code readability]] of the main model code because less relevant features are implemented elsewhere. ## Criticism [[Jason Swett]] discusses common criticisms in [When used intelligently, Rails concerns are great](https://www.codewithjason.com/used-intelligently-rails-concerns-great/). ## Related -