Yes, that would great. Or a github gist.

-------------------------
Owen Dall
Chief Systems Architect
Barquin International
410-991-0811

On Aug 2, 2010, at 7:22 PM, "[email protected]" <[email protected]> wrote:

> I bet this this look better in a pastie. Kind of hard to see the
> format.
> 
> On Aug 2, 2:39 pm, Owen Dall <[email protected]> wrote:
>> Wow - nice example!
>> -Owen
>> 
>> On Mon, Aug 2, 2010 at 5:02 PM, Simeon Theobald
>> <[email protected]>wrote:
>> 
>> 
>> 
>> 
>> 
>>> Thanks Chuck - I haven't had a chance to try this out yet, but greatly
>>> appreciate the effort you've gone to in fitting an example to my use case.
>> 
>>> I'll let you know how it works out.
>> 
>>> Simeon.
>> 
>>> On Mon, Aug 2, 2010 at 2:44 AM, <[email protected]> wrote:
>> 
>>>> After I wrote the acts_as_tree recipe, I wrote another tag definition that
>>>> iterates over an acts_as_tree model and displays the cards of an associated
>>>> has_many model.  This will not work precisely the way you want for your use
>>>> case, but might spur some ideas.
>> 
>>>> Example:
>> 
>>>> class Question < ActiveRecord::Base
>>>>   hobo_model
>>>>   fields do
>>>>     name :string
>>>>     parent_id :integer
>>>>   end
>> 
>>>>   has_many :answers
>>>>   belongs_to :answer
>>>>   acts_as_tree
>>>> end
>> 
>>>> class Answer < ActiveRecord::Base
>>>>   hobo_model
>>>>   fields do
>>>>     name : string
>>>>   end
>>>>   belongs_to :question
>>>>   has_one :another_question_to_ask, :class_name => 'question'
>>>> end
>> 
>>>> In application.dryml:
>> 
>>>> <extend tag="index-page" for="Question">
>> 
>>>>     <old-index-page merge>
>> 
>>>>         <after-new-link:><p><br/>Click a question to view
>>>> answers.</p></after-new-link:>
>> 
>>>>         <!-- Remove pager control -->
>> 
>>>>         <top-page-nav: replace />
>> 
>>>>         <collection: replace>
>> 
>>>>             <hierarchical-collection with="&Question.all" to="answers">
>> 
>>>>                 <append-close-button:>
>> 
>>>>                     <a:answers action="new"
>>>> if="&can_create?(this.answers)">
>> 
>>>>                         <ht key="answers.actions.new">
>> 
>>>>                             New Answer
>> 
>>>>                         </ht>
>> 
>>>>                     </a:answers>
>> 
>>>>                 </append-close-button:>
>> 
>>>>             </hierarchical-collection>
>> 
>>>>         </collection:>
>> 
>>>>         <!-- Remove pager control -->
>> 
>>>>         <bottom-page-nav: replace />
>> 
>>>>     </old-index-page>
>> 
>>>> </extend>
>> 
>>>> <def tag="hierarchical-collection" attrs="to">
>> 
>>>>     <%
>> 
>>>>         def tree_h(acts_as_tree_set, init=true, &block)
>> 
>>>>             @@level = 1 if init
>> 
>>>>             if acts_as_tree_set.size > 0
>> 
>>>>                 acts_as_tree_set.collect do |item| %>
>> 
>>>>                     <do with="&item"> <%
>> 
>>>>                         next if item.parent_id && init
>> 
>>>>                         @@level += 1
>> 
>>>>                         yield item
>> 
>>>>                         tree_h(item.children, false, &block) if
>>>> item.children.size > 0
>> 
>>>>                         @@level -= 1 %>
>> 
>>>>                     </do> <%
>> 
>>>>                 end
>> 
>>>>             else
>> 
>>>>                 %>(none)<%
>> 
>>>>             end
>> 
>>>>         end
>> 
>>>>         tree_h(this, true) { |item|
>> 
>>>>             item_for = to.nil? ? item : item.send(to) %>
>> 
>>>>             <%= "<h#{@@level}>" %>
>> 
>>>>             <a href="#"
>>>> onclick="Effect.BlindDown('hierarchy-collection-#{item.typed_id.gsub(':','-
>>>>  ')}');
>>>> return false;" param="hierarchy-link">
>> 
>>>>             <%= item.name + ("&nbsp;(#{item_for.count})" if
>>>> item_for.respond_to?('count')) %>
>> 
>>>>             </a>
>> 
>>>>             <%= "</h#{@@level}" %><%
>> 
>>>>             if item_for.respond_to?('count') %>
>> 
>>>>                 <div
>>>> id="hierarchy-collection-#{item.typed_id.gsub(':','-')}" style="display:
>>>> none" param="hierarchy-section">
>> 
>>>>                     <div class="close-button" param="close-button">
>> 
>>>>                         <a href="#"
>>>> onclick="$('hierarchy-collection-#{item.typed_id.gsub(':','-')}').hide();
>>>> return false;">close</a>
>> 
>>>>                     </div>
>> 
>>>>                     <collection with="&item_for" param="items" />
>> 
>>>>                 </div><%
>> 
>>>>             end
>> 
>>>>         }
>> 
>>>>     %>
>> 
>>>> </def>
>> 
>>>> --- On *Sat, 7/31/10, Simeon Theobald <[email protected]>* wrote:
>> 
>>>> From: Simeon Theobald <[email protected]>
>>>> Subject: Re: [Hobo Users] Multiple models in one tree?
>>>> To: [email protected]
>>>> Date: Saturday, July 31, 2010, 12:19 AM
>> 
>>>> Okay - a rough outline:
>> 
>>>> A question has many potential answers. Each answer can lead to a number of
>>>> questions. An example would be:
>> 
>>>> +Would you like Coffee or Tea?   [Question]
>>>> - Coffee     [Answer]
>>>>    +De-Caff or Regular?    [Question]
>>>>      -De-Caff   [Answer]
>>>>      -Regular   [Answer]
>>>>      +Moccona or Nescafe    [Question]
>>>> -Tea         [Answer]
>> 
>>>> I can't see that recursive nesting of two trees should be a problem given
>>>> that we can pass in the "parentid" (which incidentally I need to figure out
>>>> how to specify differently), the problem at the moment is that I can't see 
>>>> a
>>>> way to pass the current "id" to the alternate model's tree as a "parentid".
>> 
>>>> I'd eventually like to include links to add "children", or edit/remove the
>>>> current node. That functionality further complicates things in that it will
>>>> involve manipulating records in the intermediary tables as well as the leaf
>>>> level. Nesting sure messes with your frame of reference!
>> 
>>>> First things first though, I need to get a tree out somehow..
>> 
>>>> On Sat, Jul 31, 2010 at 12:43 PM, Chuck Benedict <
>>>> [email protected] 
>>>> <http://mc/[email protected]>>wrote:
>> 
>>>> Give me a use case and I'll be glad to add my $0.02
>> 
>>>> Sent from my iPhone
>> 
>>>> On Jul 30, 2010, at 5:02 AM, Simeon 
>>>> <[email protected]<http://mc/[email protected]>>
>>>> wrote:
>> 
>>>> The learning curve gets steep in a hurry around these parts!
>> 
>>>> The "Hierarchies - Using acts_as_tree" recipe deals nicely with a self
>>>> referencing model (category belongs to category) but it takes on the
>>>> context of the model containing the call. I have yet to find reference
>>>> to a similar solution involving multiple (nested) models.
>> 
>>>> Is it possible, and how would I go about starting to figure it out?
>> 
>>>> Thanks for your thoughts!
>> 
>>>>  --
>>>> You received this message because you are subscribed to the Google Groups
>>>> "Hobo Users" group.
>>>> To post to this group, send email to [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected]<hobousers%2bunsubscr...@googlegroups
>>>>  .com>
>>>> .
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/hobousers?hl=en.
>> 
>>>>  --
>>>> You received this message because you are subscribed to the Google Groups
>>>> "Hobo Users" group.
>>>> To post to this group, send email to [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected]<hobousers%2bunsubscr...@googlegroups
>>>>  .com>
>>>> .
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/hobousers?hl=en.
>> 
>>>  --
>>> You received this message because you are subscribed to the Google Groups
>>> "Hobo Users" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected]<hobousers%2bunsubscr...@googlegroups 
>>> .com>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/hobousers?hl=en.
>> 
>> --
>> - Owen
>> 
>> Owen Dall, Chief Systems Architect
>> Barquin International
>> Cell: 410-991-0811
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Hobo Users" 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/hobousers?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups "Hobo 
Users" 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/hobousers?hl=en.

Reply via email to