On 3 May 2012 16:41, Jeremy Walker <jez.wal...@gmail.com> wrote: > > > On 3 May 2012 15:28, Mauro <mrsan...@gmail.com> wrote: >> >> Hello. >> I've read about examples on inheritance with rails. >> Here is an example: >> >> >> http://juixe.com/techknow/index.php/2006/06/03/rails-single-table-inheritance/ >> >> The way is to add a type field in the table. >> So if I have an Animal class with an attribute name, I can inherit >> from this class like: >> >> Dog < Animal, Cat < Animal, and so on. >> >> With the type field in the table I can do Dog.all, Cat.all having >> automaticaly all dogs, all cats, etc. >> But what if I want to add some other attributes to Dog or Cat classes? >> In the example above all classes have only name attribute. >> What if I want inherit from Animal extending attributes and adding, >> for example, an attribute like canFly? for inherited classes? > > > Hi, > > You can add columns to the animals table that only some classes use. IMHO > this is not a nice solution. > > I have written the SuperSTI gem that I think offers a nicer solution. Read > about it at > http://www.ihid.co.uk/projects/super_sti and https://github.com/ihid/super_sti > > Feel free to email me personally to discuss it further.
It creates a table for every inherited class. So in my example I must have a table animals, a table dogs and a table cats. It's the same if I create different models: Animal, Dog, Cat without using inheritance. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.