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.

Reply via email to