Content | ActiveModel brings Rails conventions to plain Ruby objects, letting you
use validation, dirty tracking, and form bindings without a database.
Think of it as ActiveRecord's stripped-down cousin for non-persistent
models. Key modules include AttributeAssignment (mass assignment),
Validations (familiar rules like presence checks), Dirty Tracking
(see what changed), and Conversion (Rails URL helpers).
Hello world.
Example: A UserForm class can include ActiveModel::Model, define
attributes, add validations, and track changes via changes_applied.
It works with form_for just like ActiveRecord models but might save
via API calls instead of a database.
Use cases: form objects, API client wrappers, service objects that
need validations. Lets you keep Rails patterns consistent even when
you’re not hitting the database. Not magic – just thoughtful reuse
of Rails’ internal interfaces. Use modules à la carte or bundle them
via ActiveModel::Model. Makes your POROs play nice with the Rails
ecosystem. |
---|