Fellow geeks, I'm a geek, just like you, and I use Sequel, just like you (why else would I be here? ;)). And just like you I have a problem (no, not that kind of problem). Now what do geeks do when they have a problem? They Google? Maybe Stackoverflow? Nope, they write silly Emails and smack them on a mailing list so other folks can solve the issue.
Anyway, enough of that. What I'm trying to achieve is probably quite simple and can be achieved by writing a custom method. However, before doing so I'd like to know if it's not something available by default. The problem is that I have 2 tables, "old men" and "little kids". The relation system is set up so that an old man can have many little kids and a little kid can belong to many old men. Whenever using a web UI users can assign which kids belong to what old man, but here's the problem. As this association is a many to many it means we'll have to deal with a join table and can't update the related item(s) by just changing a column in the "old men" table. The common way is to create N instances of a little kid and pass them to the add_little_kid or remove_little_kid method. What I dislike about this is that first we have to send N queries to retrieve the required records from the "little kids" table and then have to pass these objects to a method which in turn will most likely be placed in an if statement (to determine if the row is new or not). This would result in the following pseudo code: little_kids = post["little_kid_ids"].map do |id| LittleKid[id] end # => [#<Object 1>, #<Object 2>] > OldMan.add_little_kids(little_kids) While this code is greatly simplified (and probably broken) you most likely get the idea: way too many queries and loops involved for something relatively simple. Jeremy Evans from the #sequel channel mentioned the "association_pks" plugin so I'll take a look at that tomorrow but I'd like to know if there are other possible ways of doing it. Greetings, Old man Yorick Peterse p.s. If somebody is offended by my way of explaining my database structure then I'm sorry for that, I don't support old men owning little kids in any way :] -- You received this message because you are subscribed to the Google Groups "sequel-talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sequel-talk?hl=en.
