has_many :through

Sean Cribbs sean at basho.com
Fri Feb 11 15:56:41 EST 2011


Mat,

In Riak you would implement this pattern with links.  Ripple helps you do similar queries to has_many :through, but there is no automatic thing for it yet (it needs some more thought).  In the meantime, do this:

class Publisher
  include Ripple::Document
  many :authors

  def books
    authors.map {|a| a.books }.flatten
  end
end

Sean Cribbs <sean at basho.com>
Developer Advocate
Basho Technologies, Inc.
http://basho.com/

On Feb 11, 2011, at 3:39 PM, Mat Ellis wrote:

> We're still thoroughly in an ActiveRecord mindset over here. Before we go and build some simple collect statements to replace a few has_many :through statements, is there some Ripple or Riak goodness we should be using instead?
> 
> Example:
> 
> * A Publisher has many Authors who have many Books
> * We want to get a set of books for a given publisher
> * In ActiveRecord we would say:
> 
> # publisher.rb
> class Publisher < ActiveRecord::Base
>  has_many :authors
>  has_many :books, :through => authors
> end
> 
> # author.rb
> class Author < ActiveRecord::Base
>  belongs_to :publisher
>  has_many :books
> end
> 
> # book.rb
> class Book < ActiveRecord::Base
>  belongs_to :author
> end
> 
> Thanks
> 
> M.
> 
> 
> _______________________________________________
> riak-users mailing list
> riak-users at lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com





More information about the riak-users mailing list