Comments (2)
Hi, thanks for using Groupify!
I think you'll find that Groupify generally does the "right thing" when setting up ActiveRecord associations.
For example, when a group is destroyed, the associated group memberships are also destroyed, as you expected. You can see this being set up in the ActiveRecord Group module:
has_many :group_memberships, :dependent => :destroy
You'll also find that group members get the correct associations set up as well via the GroupMember module:
# Example of what gets run under Rails 4
has_many :group_memberships, as: :member, autosave: true, dependent: :destroy
has_many :groups, ->{ uniq }, through: :group_memberships, class_name: @group_class_name, extend: GroupAssociationExtensions
Groupify really does all its magic through association functionality built into ActiveRecord. You probably shouldn't need to customize the parameters sent to these associations. But if you have a use case I haven't thought of, please let me know!
I do think that a section in the readme describing how Groupify works internally would be helpful.
from groupify.
You'll also find that the behavior is pretty well spec'ed. For example, here's the spec showing that group memberships get destroyed when a group is destroyed.
That might give you some confidence that Groupify is doing the correct thing, if you don't feel like exploring through the source code!
from groupify.
Related Issues (20)
- Cannot get single table inheritance work HOT 4
- nesting groups inside groups HOT 7
- Adding users to groups HOT 3
- Cannot properly use groupify when using prefixed table names HOT 1
- Removing Users From a Group [QUESTION] HOT 2
- `in_only_groups` doesn't match on group IDs HOT 4
- failed to add a named group HOT 14
- changed group_membership but it still looking for a table group_membership HOT 3
- Question re Group Names HOT 1
- Named Groups? (similar to GitHub organizations data model) HOT 2
- Relationship between two models HOT 2
- Rails 5.1.5 Support HOT 2
- Two Quick Questions David! (RE: Levels, and Multiple Groups) HOT 2
- Two More Quick Questions! (RE: Creating Groups, & Classes) HOT 2
- Cannot retrieve group members PG
- Cannot retrieve group members in pg HOT 5
- ActiveRecord::RecordInvalid: Validation failed: Group must exist HOT 1
- Use exists? instead of Array#include? method
- How to make subgroups with groupify
- Rails 7 Updates? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from groupify.