Skip to content

Instantly share code, notes, and snippets.

@cbrunsdon
Created October 8, 2013 22:15
Show Gist options
  • Save cbrunsdon/6892736 to your computer and use it in GitHub Desktop.
Save cbrunsdon/6892736 to your computer and use it in GitHub Desktop.
polymorphic for banister
user = User.create!
announcement = Announcement.create!
user.user_news << UserNews.create! subject: announcement
class SiteAnnouncement < ActiveRecord::Base
has_many :user_news, :as => :subject
end
class User < ActiveRecord::Base
has_many :user_news
end
class FriendRequest < ActiveRecord::Base
has_many :user_news, :as => :subject
belongs_to :user
belongs_to :target_user, class_name: 'User', foreign_key: :target_user_id
end
class UserNews < ActiveRecord::Base
belongs_to :subject, polymorphic: true
belongs_to :user
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment