Guest User

Untitled

a guest
Jul 19th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. ## DB Attributes for discussions table
  2. title
  3. body
  4. discussable_id
  5. discussable_type
  6. type
  7. created_at
  8. updated_at
  9.  
  10. ## Main Discussion model
  11. class Discussion < ActiveRecord::Base
  12. belongs_to :user
  13. belongs_to :discussable, :polymorphic=>true
  14. has_many :discussion_replies, :as=>:discussable
  15. end
  16.  
  17. ## Subtypes of discussions, with a reference to the parent discussion as their discussable
  18. class DiscussionReply < Discussion; end;
  19.  
  20. class Critique < Discussion; end;
  21.  
  22. class Event < Discussion; end;
  23.  
  24. ## Parents of main discussion topics
  25.  
  26. class Project < ActiveRecord::Base
  27. has_many :discussions, :as=>:discussable
  28. has_many :events, :as=>:discussable
  29. end
  30.  
  31. class Group < ActiveRecord::Base
  32. has_many :discussions, :as=>:discussable
  33. has_many :critiques, :as=>:discussable
  34. end
Add Comment
Please, Sign In to add comment