Table_plus not paginated

67 views
Skip to first unread message

Bob Sleys

unread,
Jul 27, 2011, 11:44:13 AM7/27/11
to hobo...@googlegroups.com
I just setup the following table_plus.  There are 152 records displayed in 1 long table.  I thought pagination was pretty much automatic with table_plus but I'm not getting any pagination at all.

In my Floors Controller.  I'm using table plus to display the collection of spaces on the floor model

  def show
    @floor = find_instance
    @spacelist = @floor.spaces.where(["name like ?", "%#{params[:search]}%"]).order(parse_sort_param(:name, :space_dwgid).join(" "))
  end

and in my floor/show.dryml

  <collection: replace>
    <table-plus with="&@spacelist" fields="this, space_dwgid, locations" >
    <empty-message:>No spaces match your criteria</empty-message:>
    </table-plus>
  </collection:>

What am I missing to turn pagination on?

Bob

kevinpfromnm

unread,
Jul 27, 2011, 11:53:49 AM7/27/11
to hobo...@googlegroups.com
Pagination is not automatic on a show page (normally it's one record and maybe a small number of children).  You might want to setup an auto_action_for :floor, :index.  Pagination on a show is possible but won't be quite as pretty.

Bob Sleys

unread,
Jul 27, 2011, 12:20:19 PM7/27/11
to hobo...@googlegroups.com
Ya its the children I'm looking to paginate.  I really don't want to put it on a separate page.  Perhaps I need to look into the jqgrid to do what I want.

Bob

Matt Jones

unread,
Jul 27, 2011, 12:38:31 PM7/27/11
to hobo...@googlegroups.com

Table-plus just *shows* pagination nav if you pass it a paginated collection - it doesn't do any of the actual finding.

You should be able to append the paginate call to the end of the chain in the controller.

Also, I'd second Kevin's recommendation - I've run into this pattern a number of times in my apps, where a "parent" model is very thin (a couple fields at most) but the children are far more important. In that case, I'll typically change places that link to the parent model to instead point to an auto_actions_for-style action (/floors/:floor_id/spaces rather than /floors/:floor_id). You can still show the relevant floor attributes and edit link up at the top of the page, and things like pagination are much more logical (and work out-of-the-box, as will things like 'New space' links).

--Matt Jones

kevinpfromnm

unread,
Jul 27, 2011, 3:08:42 PM7/27/11
to hobo...@googlegroups.com
There other good thing is the routing looks nicer with /floors/:id/spaces/:page instead of ?page=2.

I'm wondering if we could get the auto_action_for index page to be linked to by default where show would normally be if there's no show action?  well, I'm sure we could, more whether it's worth the cost.

Bob Sleys

unread,
Jul 28, 2011, 10:58:34 AM7/28/11
to hobo...@googlegroups.com
OK you've convinced me :)

However I'm now running into another problem getting it setup.

I got my link to point to the spaces for floor index page.  I added the basic table_plus tag to the views/spaces/index_for_floor.dryml
<index-for-floor-page>
  <collection: replace>
    <div>
      <table-plus fields="name, space_dwgid"/>
    </div>
  </collection:>
</index-for-floor-page>
It works fine until I try to add the sorting/searching to the spaces controller

   def index_for_floor
    params[:sort] ||= "name"
    hobo_index_for :floor, Space.apply_scopes(:search => [params[:search],:name] )
  end

I got the following error message once I add the Space.apply_scopes.
undefined method `editable_by?' for #<WillPaginate::Collection:0x7fef7032fa48>
If just do a hobo_index_for :floor it work fine minus sorting searching etc.

Any hints would be appreciated.  I know I'm probably doing something dumb here.

Bob
 

Matt Jones

unread,
Jul 28, 2011, 11:47:12 AM7/28/11
to hobo...@googlegroups.com

Actually, the documentation is seriously lacking here - you don't actually want to filter the records before passing them into hobo_index_for.

The option you're looking for is :scope - but it takes a weird set of options that are formatted as an array of arrays:

hobo_index_for :floor, :scope => [ [:search, params[:search], :name], [:order_by, parse_sort_param(...)] ]

My original comment on this patch is WRONG:

https://hobo.lighthouseapp.com/projects/8324/tickets/568-hobo_index_for-should-support-scope-to-filter-records

The hash syntax mentioned there will NOT work at present, but the arrays above will.

--Matt Jones

Bob Sleys

unread,
Jul 28, 2011, 1:03:00 PM7/28/11
to hobo...@googlegroups.com
Thanks once again for all your help.

I can see the :search scope being overwritten in the log and the sql all look good in the log however I'm still getting the same undefined method `editable_by?' for #<WillPaginate::Collection:0x7fe2edf0f910> Template error

My table plus in the dryml file is

<table-plus fields="this, space_dwgid"> <controls/> </table-plus>

kevinpfromnm

unread,
Jul 28, 2011, 1:33:28 PM7/28/11
to hobo...@googlegroups.com
might be a typo but you want it to be <controls: /> so it acts as a parameter, not a tag.

Bob Sleys

unread,
Jul 28, 2011, 2:34:23 PM7/28/11
to hobo...@googlegroups.com
Grr yes that was an error in my code but doesn't fix the editable? problem.

Matt Jones

unread,
Jul 30, 2011, 9:06:52 PM7/30/11
to hobo...@googlegroups.com

On Jul 28, 2011, at 2:34 PM, Bob Sleys wrote:

> Grr yes that was an error in my code but doesn't fix the editable? problem.

I tried reproducing this today and couldn't get it to happen - what version are you running? A full stack trace would also be really helpful.

--Matt Jones

Bob Sleys

unread,
Jul 31, 2011, 7:25:14 AM7/31/11
to hobo...@googlegroups.com
I'm running Hobo 1.3.  I'll post a full stack trace on Monday its all on my work computer.

Thanks again for the help.

Bob

Bob Sleys

unread,
Aug 3, 2011, 12:08:01 PM8/3/11
to hobo...@googlegroups.com
Ok finally got back to this.  (been one of those weeks already and it's only Wednesday)

Here is the controller with the filter.  Note if I use the commented out line hobo_index_for :floor the page works, minus the searching/ordering of course.

class SpacesController < ApplicationController
  hobo_model_controller
  auto_actions :all, :except => :index
  auto_actions_for :floor, [:index, :create, :new]

  def index_for_floor
    params[:sort] ||= "name"
    params[:search] ||= ""
    hobo_index_for :floor, :scope => [ [:search, params[:search], :name],   [ :order, parse_sort_param(:name, :space_dwgid).join(' ') ]]
    #hobo_index_for :floor
  end
  ...
end

Here is the index_for_floor.dryml (located in views/spaces)

<index-for-floor-page>
  <content-header:>
    <div class="back-to">
      <t key="hobo.actions.back">Back to</t>
      <a with="&@floor.building"/>
    </div>
    <h2 class="heading" if="&@owner">
      <ht key="space.index_for_owner.heading" count="&@floor.spaces.count">
        <human-collection-name with="&@floor" collection="spaces" your/>
      </ht>
    </h2>

    <h3 class="subheading">
      <ht key="space.index_for_owner.subheading">
        For:
      </ht>
      <a with="&@floor"/>
    </h3>

  </content-header:>

  <content-body:>
    <section class="collection-section">

      <a to="&@floor.spaces" action="new" if="&can_create?(@floor.spaces)" class="new-link">
          New Space
      </a>

      <table-plus fields="this, space_dwgid">
        <controls:/>
      </table-plus>

    </section>
  </content-body:>
</index-for-floor-page>

And here is the full trace

NoMethodError in Spaces#index_for_floor

Showing /home/bsleys/HazMatTracking/app/views/spaces/index_for_floor.dryml where line #29 raised:

undefined method `editable_by?' for #<WillPaginate::Collection:0x7f0b11d8c7a0>

Extracted source (around line #29):

26:           New Space
27:       </a>
28: 
29:       <table-plus fields="this, space_dwgid">
30:         <controls:/>
31:       </table-plus>
32: 

Rails.root: /home/bsleys/HazMatTracking

Application Trace | Framework Trace | Full Trace
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/helper.rb:221:in `can_edit?'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_forms.dryml:187:in `form__base'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_forms.dryml:162:in `form__base'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:383:in `send'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:383:in `call_tag_parameter_with_default_content'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:405:in `call_tag_parameter'
app/views/taglibs/auto/rapid/forms.dryml:88:in `form__for_space_without_a625b6122547'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
app/views/taglibs/auto/rapid/forms.dryml:87:in `form__for_space_without_a625b6122547'
app/views/taglibs/application.dryml:168:in `form__for_space'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
app/views/taglibs/application.dryml:163:in `form__for_space'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:199:in `send'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:199:in `call_polymorphic_tag'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_forms.dryml:167:in `form'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_forms.dryml:164:in `form'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:466:in `send'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:466:in `override_and_call_tag'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:429:in `call_tag_parameter'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_plus.dryml:16:in `table_plus'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_plus.dryml:14:in `table_plus'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:449:in `call'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:449:in `override_and_call_tag'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:449:in `override_and_call_tag'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:429:in `call_tag_parameter'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_plus.dryml:14:in `table_plus'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_plus.dryml:13:in `table_plus'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_plus.dryml:10:in `table_plus'
app/views/spaces/index_for_floor.dryml:29:in `render_page'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
app/views/spaces/index_for_floor.dryml:23:in `render_page'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/tag_parameters.rb:19:in `call'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/tag_parameters.rb:19:in `method_missing'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_document_tags.dryml:21:in `section'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_document_tags.dryml:20:in `section'
app/views/spaces/index_for_floor.dryml:23:in `render_page'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
app/views/spaces/index_for_floor.dryml:22:in `render_page'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:457:in `call'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:457:in `override_and_call_tag'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/tag_parameters.rb:19:in `call'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/tag_parameters.rb:19:in `method_missing'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_document_tags.dryml:21:in `section'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_document_tags.dryml:20:in `section'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:466:in `send'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:466:in `override_and_call_tag'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:429:in `call_tag_parameter'
app/views/taglibs/auto/rapid/pages.dryml:1229:in `index_for_floor_page__for_space'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
app/views/taglibs/auto/rapid/pages.dryml:1205:in `index_for_floor_page__for_space'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:457:in `call'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:457:in `override_and_call_tag'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/tag_parameters.rb:19:in `call'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/tag_parameters.rb:19:in `method_missing'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_document_tags.dryml:21:in `section'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_document_tags.dryml:20:in `section'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:466:in `send'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:466:in `override_and_call_tag'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:429:in `call_tag_parameter'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_pages.dryml:47:in `page_without_aaa82d3a9ca5'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/scoped_variables.rb:20:in `new_scope'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_pages.dryml:39:in `page_without_aaa82d3a9ca5'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_pages.dryml:38:in `page_without_aaa82d3a9ca5'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:449:in `call'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:449:in `override_and_call_tag'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:449:in `override_and_call_tag'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:429:in `call_tag_parameter'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_pages.dryml:38:in `page_without_aaa82d3a9ca5'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_pages.dryml:16:in `page_without_aaa82d3a9ca5'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:379:in `call'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:379:in `call_tag_parameter_with_default_content'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/tag_parameters.rb:19:in `call'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/tag_parameters.rb:19:in `method_missing'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/taglibs/core.dryml:65:in `do_'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/taglibs/core.dryml:65:in `do_'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:383:in `send'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:383:in `call_tag_parameter_with_default_content'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:405:in `call_tag_parameter'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_pages.dryml:166:in `html'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/scoped_variables.rb:20:in `new_scope'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_pages.dryml:166:in `html'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_pages.dryml:161:in `html'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_pages.dryml:16:in `page_without_aaa82d3a9ca5'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/rapid/taglibs/rapid_pages.dryml:14:in `page_without_aaa82d3a9ca5'
app/views/taglibs/themes/clean/clean.dryml:2:in `page_without_a2cb9cd3a217'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
app/views/taglibs/themes/clean/clean.dryml:1:in `page_without_a2cb9cd3a217'
app/views/taglibs/application.dryml:14:in `page'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
app/views/taglibs/application.dryml:13:in `page'
app/views/taglibs/auto/rapid/pages.dryml:1203:in `index_for_floor_page__for_space'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
app/views/taglibs/auto/rapid/pages.dryml:1202:in `index_for_floor_page__for_space'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:199:in `send'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:199:in `call_polymorphic_tag'
app/views/taglibs/auto/rapid/pages.dryml:1206:in `index_for_floor_page'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:329:in `_tag_context'
app/views/taglibs/auto/rapid/pages.dryml:1203:in `index_for_floor_page'
app/views/spaces/index_for_floor.dryml:1:in `render_page'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:268:in `new_object_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
actionpack (3.0.7) lib/action_view/helpers/capture_helper.rb:172:in `with_output_buffer'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:249:in `new_context'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml/template_environment.rb:256:in `new_object_context'
app/views/spaces/index_for_floor.dryml:1:in `render_page'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/dryml/lib/dryml.rb:75:in `call_render'
app/views/spaces/index_for_floor.dryml:1:in `_app_views_spaces_index_for_floor_dryml___555342512_69842760096560_0'
actionpack (3.0.7) lib/action_view/template.rb:135:in `send'
actionpack (3.0.7) lib/action_view/template.rb:135:in `render'
activesupport (3.0.7) lib/active_support/notifications.rb:54:in `instrument'
actionpack (3.0.7) lib/action_view/template.rb:127:in `render'
actionpack (3.0.7) lib/action_view/render/rendering.rb:59:in `_render_template'
activesupport (3.0.7) lib/active_support/notifications.rb:52:in `instrument'
activesupport (3.0.7) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
activesupport (3.0.7) lib/active_support/notifications.rb:52:in `instrument'
actionpack (3.0.7) lib/action_view/render/rendering.rb:56:in `_render_template'
actionpack (3.0.7) lib/action_view/render/rendering.rb:26:in `render'
actionpack (3.0.7) lib/abstract_controller/rendering.rb:115:in `_render_template'
actionpack (3.0.7) lib/abstract_controller/rendering.rb:109:in `render_to_body'
actionpack (3.0.7) lib/action_controller/metal/renderers.rb:47:in `render_to_body'
actionpack (3.0.7) lib/action_controller/metal/compatibility.rb:55:in `render_to_body'
actionpack (3.0.7) lib/abstract_controller/rendering.rb:102:in `render_to_string'
actionpack (3.0.7) lib/abstract_controller/rendering.rb:93:in `render'
actionpack (3.0.7) lib/action_controller/metal/rendering.rb:17:in `render'
actionpack (3.0.7) lib/action_controller/metal/instrumentation.rb:40:in `render_without_hobo_model'
activesupport (3.0.7) lib/active_support/core_ext/benchmark.rb:5:in `ms'
/home/bsleys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/benchmark.rb:308:in `realtime'
activesupport (3.0.7) lib/active_support/core_ext/benchmark.rb:5:in `ms'
actionpack (3.0.7) lib/action_controller/metal/instrumentation.rb:40:in `render_without_hobo_model'
actionpack (3.0.7) lib/action_controller/metal/instrumentation.rb:78:in `cleanup_view_runtime'
activerecord (3.0.7) lib/active_record/railties/controller_runtime.rb:15:in `cleanup_view_runtime'
actionpack (3.0.7) lib/action_controller/metal/instrumentation.rb:39:in `render_without_hobo_model'
/home/bsleys/.rvm/gems/ruby-1.8.7-p352@HazMatTracking/bundler/gems/hobo-9702117860c6/hobo/lib/hobo/controller/model.rb:813:in `render'
actionpack (3.0.7) lib/action_controller/metal/implicit_render.rb:14:in `default_render'
actionpack (3.0.7) lib/action_controller/metal/implicit_render.rb:6:in `send_action'
actionpack (3.0.7) lib/abstract_controller/base.rb:150:in `process_action'
actionpack (3.0.7) lib/action_controller/metal/rendering.rb:11:in `process_action'
actionpack (3.0.7) lib/abstract_controller/callbacks.rb:18:in `process_action'
activesupport (3.0.7) lib/active_support/callbacks.rb:461:in `_run__1003734114__process_action__1669773789__callbacks'
activesupport (3.0.7) lib/active_support/callbacks.rb:410:in `send'
activesupport (3.0.7) lib/active_support/callbacks.rb:410:in `_run_process_action_callbacks'
activesupport (3.0.7) lib/active_support/callbacks.rb:94:in `send'
activesupport (3.0.7) lib/active_support/callbacks.rb:94:in `run_callbacks'
actionpack (3.0.7) lib/abstract_controller/callbacks.rb:17:in `process_action'
actionpack (3.0.7) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
activesupport (3.0.7) lib/active_support/notifications.rb:52:in `instrument'
activesupport (3.0.7) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
activesupport (3.0.7) lib/active_support/notifications.rb:52:in `instrument'
actionpack (3.0.7) lib/action_controller/metal/instrumentation.rb:29:in `process_action'
actionpack (3.0.7) lib/action_controller/metal/rescue.rb:17:in `process_action'
actionpack (3.0.7) lib/abstract_controller/base.rb:119:in `process'
actionpack (3.0.7) lib/abstract_controller/rendering.rb:41:in `process'
actionpack (3.0.7) lib/action_controller/metal.rb:138:in `dispatch'
actionpack (3.0.7) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
actionpack (3.0.7) lib/action_controller/metal.rb:178:in `action'
actionpack (3.0.7) lib/action_dispatch/routing/route_set.rb:62:in `call'
actionpack (3.0.7) lib/action_dispatch/routing/route_set.rb:62:in `dispatch'
actionpack (3.0.7) lib/action_dispatch/routing/route_set.rb:27:in `call'
rack-mount (0.6.14) lib/rack/mount/route_set.rb:148:in `call'
rack-mount (0.6.14) lib/rack/mount/code_generation.rb:93:in `recognize'
rack-mount (0.6.14) lib/rack/mount/code_generation.rb:89:in `optimized_each'
rack-mount (0.6.14) lib/rack/mount/code_generation.rb:92:in `recognize'
rack-mount (0.6.14) lib/rack/mount/route_set.rb:139:in `call'
actionpack (3.0.7) lib/action_dispatch/routing/route_set.rb:493:in `call'
actionpack (3.0.7) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
actionpack (3.0.7) lib/action_dispatch/middleware/head.rb:14:in `call'
rack (1.2.3) lib/rack/methodoverride.rb:24:in `call'
actionpack (3.0.7) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
actionpack (3.0.7) lib/action_dispatch/middleware/flash.rb:182:in `call'
actionpack (3.0.7) lib/action_dispatch/middleware/session/abstract_store.rb:149:in `call'
actionpack (3.0.7) lib/action_dispatch/middleware/cookies.rb:302:in `call'
activerecord (3.0.7) lib/active_record/query_cache.rb:32:in `call'
activerecord (3.0.7) lib/active_record/connection_adapters/abstract/query_cache.rb:28:in `cache'
activerecord (3.0.7) lib/active_record/query_cache.rb:12:in `cache'
activerecord (3.0.7) lib/active_record/query_cache.rb:31:in `call'
activerecord (3.0.7) lib/active_record/connection_adapters/abstract/connection_pool.rb:354:in `call'
actionpack (3.0.7) lib/action_dispatch/middleware/callbacks.rb:46:in `call'
activesupport (3.0.7) lib/active_support/callbacks.rb:416:in `_run_call_callbacks'
actionpack (3.0.7) lib/action_dispatch/middleware/callbacks.rb:44:in `call'
rack (1.2.3) lib/rack/sendfile.rb:107:in `call'
actionpack (3.0.7) lib/action_dispatch/middleware/remote_ip.rb:48:in `call'
actionpack (3.0.7) lib/action_dispatch/middleware/show_exceptions.rb:47:in `call'
railties (3.0.7) lib/rails/rack/logger.rb:13:in `call'
rack (1.2.3) lib/rack/runtime.rb:17:in `call'
activesupport (3.0.7) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
rack (1.2.3) lib/rack/lock.rb:11:in `call'
rack (1.2.3) lib/rack/lock.rb:11:in `synchronize'
rack (1.2.3) lib/rack/lock.rb:11:in `call'
actionpack (3.0.7) lib/action_dispatch/middleware/static.rb:30:in `call'
railties (3.0.7) lib/rails/application.rb:168:in `call'
railties (3.0.7) lib/rails/application.rb:77:in `send'
railties (3.0.7) lib/rails/application.rb:77:in `method_missing'
railties (3.0.7) lib/rails/rack/log_tailer.rb:14:in `call'
rack (1.2.3) lib/rack/content_length.rb:13:in `call'
rack (1.2.3) lib/rack/handler/webrick.rb:52:in `service'
/home/bsleys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
/home/bsleys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/home/bsleys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
/home/bsleys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/webrick/server.rb:162:in `start'
/home/bsleys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
/home/bsleys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/webrick/server.rb:95:in `start'
/home/bsleys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/webrick/server.rb:92:in `each'
/home/bsleys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/webrick/server.rb:92:in `start'
/home/bsleys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/webrick/server.rb:23:in `start'
/home/bsleys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/webrick/server.rb:82:in `start'
rack (1.2.3) lib/rack/handler/webrick.rb:13:in `run'
rack (1.2.3) lib/rack/server.rb:217:in `start'
railties (3.0.7) lib/rails/commands/server.rb:65:in `start'
railties (3.0.7) lib/rails/commands.rb:30
railties (3.0.7) lib/rails/commands.rb:27:in `tap'
railties (3.0.7) lib/rails/commands.rb:27
script/rails:6:in `require'
script/rails:6
ruby-debug-ide (0.4.17.beta5) lib/ruby-debug-ide.rb:112:in `debug_load'
ruby-debug-ide (0.4.17.beta5) lib/ruby-debug-ide.rb:112:in `debug_program'
ruby-debug-ide (0.4.17.beta5) bin/rdebug-ide:87
-e:1:in `load'
-e:1

Matt Jones

unread,
Aug 3, 2011, 12:36:09 PM8/3/11
to hobo...@googlegroups.com
I still can't actually reproduce this, but I've found what smells an awful lot like the problem: the search form on table-plus is deciding to call the form for the "Task" model. This is a bit of a polymorphic lookup fail. :)

This was the giveaway line in the trace:

app/views/taglibs/application.dryml:168:in `form__for_space'

Can you try adding this to your table-plus tag to see if it fixes the problem (inside the tag, natch):

<search-form: with="&nil" />

In my test app where I redefined the "Task" form this got me back to the desired search box.

--Matt Jones

Bob Sleys

unread,
Aug 3, 2011, 1:39:45 PM8/3/11
to hobo...@googlegroups.com
I'm not following the "Task" part of it but yes indeed adding the  <search-form: with="&nil" /> did fix it and it now works great.

Thanks again for your time.

Bob

Matt Jones

unread,
Aug 3, 2011, 2:12:50 PM8/3/11
to hobo...@googlegroups.com

On Aug 3, 2011, at 1:39 PM, Bob Sleys wrote:

> I'm not following the "Task" part of it but yes indeed adding the <search-form: with="&nil" /> did fix it and it now works great.

Sorry - that was me using the wrong domain language. I had my test app set up with the Hobo version of "Hello World" (Stories have_many Tasks) - your equivalent would be Space.

Out of curiosity, can you post your form tag for Space (from application.dryml)?

--Matt Jones

Bob Sleys

unread,
Aug 3, 2011, 2:37:40 PM8/3/11
to hobo...@googlegroups.com
Here you go.

<extend tag="form" for="Space">
  <old-form merge>
    <field-list: fields="name, space_dwgid, description,  locations"/>
    <after-field-list:><%= hidden_field_tag(:form_x) %><%= hidden_field_tag(:form_y) %></after-field-list:>
  </old-form>
  <old-form append>
    <if test="&this.floor">
      <if test="&this.floor.layout_file_name?">
          <canvas id="map" class="floorplan" width="870" height="600"></canvas>
          <script language='JavaScript' type='text/javascript'>
              window.onload = function() {
                  var m = new ERMap('map');
                  m.addImage("#{this.floor.layout.url :jpg }", #{this.floor.layout_width}, #{this.floor.layout_height});
                  m.addDwgOrigin("/images/cursors/target-red.png", 48, 48,
                          #{this.scaled_x}, #{this.scaled_y},
                          "form_x", "form_y");
              }
          </script>
        </if>
    </if>
  </old-form>
</extend>

This probably needs a bit of explanation.  What I'm doing is assigning locations to a floor plan.  The canvas and JavaScript is displaying the floor plan (converted from autocad to a jpg image) and overlaying a marker icon the user can move with the mouse to be over the specified location.  IE if they are setting up the Kitchen location they can move the marker over the Kitchen on the layout.  The hidden fields form_x and form_y are updated via JavaScript so they can be saved back to the database.  form_x and form_y aren't database fields because I need to do some calculations on them to convert from jpg pixels to feet/inches.  The actual database fields are dwg_x and dwg_y.  This conversion is done in the space controller via the following code.

  def update
    hobo_update do
      if (params[:form_x]!="") then
        scale = @this.floor.drawing_scale||=1
        orgx = @this.floor.dwg_origin_x||=1
        orgy = @this.floor.dwg_origin_y||=1
        @this.dwg_x=(params[:form_x].to_f - orgx) * 12 / scale / 72
        @this.dwg_y=(orgy.to_f - params[:form_y].to_f) * 12 / scale / 72
        @this.save!
      end
    end
  end

Matt Jones

unread,
Sep 14, 2011, 2:40:47 PM9/14/11
to hobo...@googlegroups.com

On Aug 3, 2011, at 1:39 PM, Bob Sleys wrote:

> I'm not following the "Task" part of it but yes indeed adding the <search-form: with="&nil" /> did fix it and it now works great.

This is now (as of about 2 minutes ago) the default behavior. It shouldn't break any existing code, and it avoids crazy bugs like the one you ran into.

--Matt Jones

Reply all
Reply to author
Forward
0 new messages