Howdy, I have a couple questions on the best way to model things in
rails.
1. How to model a table so an admin person can selectively turn on/
off hard/soft deletes from a table at a table level?
2. Model a parent/child relationship that can go infinitely deep.
specifically equipment, parent => child => child => child ....
--
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 rubyonra...@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Hell no! acts_as_tree should be avoided at all costs. The adjacency
list model that it uses is simple, naïve, and inefficient: each level of
the tree requires a separate query (unless you're using Oracle, which
has a proprietary extension to its SQL that fixes this).
What you want instead is a *nested set* or *nested interval* structure
(do a Web search for articles on how these work). These allow retrieval
of an entire tree, to arbitrary depth, with a single query. Rails
plugins exist for both. acts_as_nested_interval was buggy last time I
used it, but has probably been fixed by now. awesome_nested_set lives
up to its name.
>
>>
> --
> Cheers,
> Bala
> RoR Developer Now Available for Hire
The fact that you're recommending acts_as_tree means that people ought
to think twice about hiring you...
Best,
--
Marnen Laibow-Koser
http://www.marnen.org
mar...@marnen.org
Sent from my iPhone
--
Posted via http://www.ruby-forum.com/.
Zoltan Gero wrote in post #962586:
> Hello,
>
> 2. http://guides.rubyonrails.org/association_basics.html
> Here check has_many :through , has_and_belongs_to_many assotiations,
> and I think you may need polymorphic association. You have to try them
> out, but there are some help in the tutorial to make decision.
Nope. All you need is awesome_nested_set.
>
> I'm not sure if I understand well your first question, can you write
> it more clearly please?
>
> good luck,
> gezope
Best,
--
Marnen Laibow-Koser
http://www.marnen.org
mar...@marnen.org
--
Posted via http://www.ruby-forum.com/.
So use nested intervals instead. They fix that problem completely.
> Like most data
> modelling questions, the sort of access patterns that will be used -
> while acts as tree makes getting a whole subtree expensive, if you
> never need to do that in your app, who cares?
If you never need a whole subtree, you probably don't need a tree
structure in the first place (though there are exceptions).
>
> Fred
Best,
--
Marnen Laibow-Koser