Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Gems
  3. ActionStore

ActionStore

MITRubyv1.1.3

A Rails gem for storing polymorphic user actions (likes, follows, stars, etc.) in a single table with ActiveRecord.

Visit WebsiteGitHubGitHub
407 stars29 forks0 contributors

What is ActionStore?

ActionStore is a Ruby on Rails gem that simplifies storing and managing user actions—such as likes, follows, stars, and blocks—in a single database table using ActiveRecord's polymorphic associations. It solves the problem of cluttering a Rails app with multiple tables for different interactions by providing a unified, convention-driven approach with automatic relationship generation and counter caching.

Target Audience

Rails developers building applications with social or interactive features (e.g., forums, social networks, content platforms) who need a clean way to handle user-target relationships.

Value Proposition

Developers choose ActionStore because it drastically reduces boilerplate code for user actions, enforces data integrity with uniqueness constraints, and offers flexibility like custom action options and separate table storage—all while staying true to Rails conventions.

Overview

Store different kind of actions (Like ❤️, Follow 👁, Star ⭐, Block ...) in one table via ActiveRecord Polymorphic Association.

Use Cases

Best For

  • Adding like/unlike functionality to posts or comments in a Rails app
  • Implementing user follow/unfollow systems with follower counts
  • Building star or favorite features for items like projects or repositories
  • Creating block or mute functionality between users
  • Managing subscription states (e.g., subscribed/ignored) for notifications
  • Handling watch or bookmark actions on content in a scalable way

Quick Stats

Stars407
Forks29
Contributors0
Open Issues2
Last commit1 year ago
CreatedSince 2017

Tags

#bookmark#rails-gem#subscribe#database-design#activerecord#ruby-on-rails#social-features#watch#counter-cache#star

Built With

R
Ruby
R
Ruby on Rails
A
ActiveRecord

Links & Resources

Website

Included in

Gems2.8k
Auto-fetched 15 hours ago

Related Projects

PaperTrailPaperTrail

Track changes to your rails models

Stars7,024
Forks911
Last commit2 months ago
FriendlyIdFriendlyId

FriendlyId is the “Swiss Army bulldozer” of slugging and permalink plugins for ActiveRecord. It allows you to create pretty URL’s and work with human-friendly strings as if they were numeric ids for ActiveRecord models.

Stars6,225
Forks592
Last commit11 days ago
AASMAASM

AASM - State machines for Ruby classes (plain Ruby, ActiveRecord, Mongoid, NoBrainer, Dynamoid)

Stars5,227
Forks644
Last commit19 days ago
ActsAsTaggableOnActsAsTaggableOn

A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts.

Stars4,992
Forks1,196
Last commit18 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub