A Rails gem for storing polymorphic user actions (likes, follows, stars, etc.) in a single table with ActiveRecord.
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.
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.
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.
Store different kind of actions (Like ❤️, Follow 👁, Star ⭐, Block ...) in one table via ActiveRecord Polymorphic Association.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.