Sha256: 666056acdbdac706cdb1a583b089dd0dee75d8a64106c20070e0fc74baabf1aa
Contents?: true
Size: 1.67 KB
Versions: 2
Compression:
Stored size: 1.67 KB
Contents
# MostRelated `most_related` returns models that have the most many to many associated models in common ## Installation Add this line to your application's Gemfile: gem 'most_related' And then execute: $ bundle Or install it yourself as: $ gem install most_related ## Usage Post example class Post < ActiveRecord::Base has_most_related :authors has_most_related :tags, as: :most_related_by_tags has_most_related [:authors, :tags], as: :most_related_by_author_or_tag has_many :author_posts has_many :authors, through: :author_posts end class Author < ActiveRecord::Base has_many :author_posts end class AuthorPosts < ActiveRecord::Base belongs_to :author belongs_to :post end To return the posts with the most authors in common with post, in descending order: post.most_related To return the posts with the most tags in common with post, in descending order: post.most_related_by_tag To return the posts with the most authors and tags in common with post, in descending order: post.most_related_by_author_or_tag The count of the many to many associated models in common is accessible on each returned model post.most_related_count post.most_related_by_tag_count post.most_related_by_author_or_tag If multiple many to many associations are used, the syntax is specific to MySql. Because of the use of 'group', pagination is not supported. ## Contributing 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create new Pull Request
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
most_related-0.0.3 | README.md |
most_related-0.0.2 | README.md |