So, the right thing to do is more something like an in memory database? There would be a group of guests that have a :room-id with a id that can be used to identify them when trying to render the rooms. More or less tables with foreign keys?
About ref-cursor: I suppose you mean that the usage in my example isn't appropriate? Thanks On Fri, Oct 31, 2014 at 4:17 PM, David Nolen <[email protected]> wrote: > There's no imperative to structure your data in a hierarchical manner > like this. If you find it unsuitable for your application change the > representation. Also ref cursors were designed specifically to support > putting up an API in front of the data so that the data representation > can evolve independently of components that rely on aspects of the > data. > > David > > On Fri, Oct 31, 2014 at 4:09 PM, Andreas Liljeqvist <[email protected]> > wrote: > > Hi. > > > > For example I have this hierarchy: > > > > > > Guest > > Room > > Hotel Guest-settings > > Root > > > > (defn ui-state [] > > (om/ref-cursor (:ui-state (om/root-cursor app-state)))) > > > > > > (def app-state atom({:ui-state {:selected nil} > > :hotels [{:name "stay4free" > > :rooms [{:id 202 :guests > > [{:id 123 :name "Poor > slob"}]}]}]})) > > > > I can selected a guest by clicking on a guest node. > > That will trigger an update! that changes a reference cursor [:ui-state > > :selected] to the guest id. > > > > Whenever that happens I want to display some textboxes and sliders to > change > > information about the guest. > > > > Problem is that I don't have a handy reference to the guest, only an > unique > > id. > > Since guest-settings is going to do something like (om/build > guest-settings > > (:ui-state app)) > > > > I can use the id in :selected to dig down through the hierarchies until I > > find the right guest. > > Seems like a sub-optimal solution though. > > > > Any tips? > > Thanks. > > > > -- > > Note that posts from new members are moderated - please be patient with > your > > first post. > > --- > > You received this message because you are subscribed to the Google Groups > > "ClojureScript" group. > > To unsubscribe from this group and stop receiving emails from it, send an > > email to [email protected]. > > To post to this group, send email to [email protected]. > > Visit this group at http://groups.google.com/group/clojurescript. > > -- > Note that posts from new members are moderated - please be patient with > your first post. > --- > You received this message because you are subscribed to the Google Groups > "ClojureScript" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/clojurescript. > -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/clojurescript.
