You've run into a rails 2.3.5 bug: https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/574-rails-235-b0rks-our-rake-tasks-running-on-edge-hobo#ticket-574-4
Could you snip line 124 (and some surrounding context) from your app/views/taglibs/auto/rapid/pages.dryml and post it, please? thanks Bryan Brian Corbin wrote: > I've upgraded to edge. At least I think I have :) I followed the > recipe to upgrade to edge but when I did this step: "Edit Rakefile to > remove the line require 'hobo/tasks/rails' if it exists." that seemed > to remove all the hobo tasks from rake. > > rake -T hobo > (in /srv/inventory) > rake doc:plugins:hobo # Generate documentation for the > hobo plugin > > So I put that line back in the Rakefile and ran the next step: rake > hobo:run_standard_generators > That replaced user.rb, users_controller.rb, and application.dryml. > > I added my fields and relationships back into the User model and > generated a hobo_migration just to make sure my database and models > still match, and they do. > > Nothing else has changed, my models and view hints are as described > before. I'm now getting this error: > > Tue Dec 08 14:14:07 -0800 2009: Read error: #<NoMethodError: undefined > method `klass' for nil:NilClass> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/ > whiny_nil.rb:52:in `method_missing' > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/ > reflection.rb:257:in `source_reflection' > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/ > reflection.rb:257:in `collect' > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/ > reflection.rb:257:in `source_reflection' > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/ > reflection.rb:316:in `derive_class_name' > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/ > reflection.rb:112:in `class_name' > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/ > reflection.rb:156:in `klass_without_create_polymorphic_class' > /srv/inventory/vendor/plugins/hobo/hobo/lib/active_record/ > association_reflection.rb:15:in `klass' > /srv/inventory/vendor/plugins/hobo/hobo/lib/hobo/model.rb:327:in > `reverse_reflection' > rapid/pages:124:in `run_one' > rapid/pages:124:in `map' > rapid/pages:124:in `run_one' > /srv/inventory/vendor/plugins/hobo/hobo/lib/hobo/dryml/ > dryml_generator.rb:141:in `each_controller' > /srv/inventory/vendor/plugins/hobo/hobo/lib/hobo/dryml/ > dryml_generator.rb:139:in `each' > /srv/inventory/vendor/plugins/hobo/hobo/lib/hobo/dryml/ > dryml_generator.rb:139:in `each_controller' > rapid/pages:14:in `run_one' > /srv/inventory/vendor/plugins/hobo/hobo/lib/hobo/dryml/ > dryml_generator.rb:88:in `run_for_subsite' > /srv/inventory/vendor/plugins/hobo/hobo/lib/hobo/dryml/ > dryml_generator.rb:87:in `each_pair' > /srv/inventory/vendor/plugins/hobo/hobo/lib/hobo/dryml/ > dryml_generator.rb:87:in `run_for_subsite' > /srv/inventory/vendor/plugins/hobo/hobo/lib/hobo/dryml/ > dryml_generator.rb:81:in `run' > /srv/inventory/vendor/plugins/hobo/hobo/lib/hobo/dryml/ > dryml_generator.rb:81:in `each' > /srv/inventory/vendor/plugins/hobo/hobo/lib/hobo/dryml/ > dryml_generator.rb:81:in `run' > /srv/inventory/vendor/plugins/hobo/hobo/lib/hobo/dryml/ > dryml_generator.rb:50:in `run' > /srv/inventory/vendor/plugins/hobo/hobo/lib/hobo/dryml/ > dryml_generator.rb:33:in `reload_application' > /usr/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/ > reloader.rb:33:in `run' > /usr/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/ > dispatcher.rb:108:in `call' > /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/rack/static.rb:31:in > `call' > /usr/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:46:in `call' > /usr/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in `each' > /usr/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in `call' > /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/rack/log_tailer.rb: > 17:in `call' > /usr/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/content_length.rb: > 13:in `call' > /usr/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/chunked.rb:15:in > `call' > /usr/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/handler/mongrel.rb: > 64:in `process' > /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:159:in > `process_client' > /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in `each' > /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in > `process_client' > /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `run' > /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in > `initialize' > /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `new' > /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `run' > /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in > `initialize' > /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `new' > /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `run' > /usr/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/handler/mongrel.rb: > 34:in `run' > /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/commands/server.rb:111 > /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in > `gem_original_require' > /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' > script/server:3 > > rake hobo:generate_taglibs gives the same error. So upgrading to edge > got rid of the first error, and now I only get that second one :) > Thanks, > > Brian > > On Dec 8, 11:44 am, Bryan Larsen <[email protected]> wrote: >> The first error is almost >> certainlyhttps://hobo.lighthouseapp.com/projects/8324-hobo/tickets/565-rake-ho..., >> which should be fixed in edge. This is the error you provided more >> detail for. I presume you're running 0.9.102. >> >> Could you give us a backtrace for the second error? >> >> And yes, this is the first place to come for help for problems like yours. >> >> cheers, >> Brayn >> >> Brian Corbin wrote: >>> I'm getting an error when I try and use ViewHints and I'm not sure >>> what I'm doing wrong. A simple has_many/belongs_to relationship works >>> fine in a test application, but in the app I'm working on now, pretty >>> much any children declaration in the ViewHints causes the app to crash >>> without rendering anything to the screen. I seem to get one of two >>> errors, depending on the relationship I'm trying to set up. >>> #<NoMethodError: undefined method `name' for nil:NilClass> >>> or >>> #<NoMethodError: undefined method `klass' for nil:NilClass> >>> My models have become somewhat complex, I'll see if I can describe >>> what I'm trying to accomplish here before listing out the models. >>> We have Users, Locations, Orders, and Products. Join tables are >>> LocationProduct and ProductOrder. >>> * Users belong to a single Location called default_location. >>> * Locations have Products, and for each Product, they have minimum and >>> current levels. This is to keep track of each location's product >>> inventory. >>> * Locations have many Orders (There will be a sender and receiver >>> location for each order, so I can decrement/increment the product >>> counts and keep track of the location's inventory) >>> * Orders belong to a sender and a receiver (Users) (So I know who >>> placed the order and who the customer is) >>> * Orders have many Products >>> * Orders belong to a sender Location and receiver Location >>> * Products have many Orders (through the ProductOrders join table) >>> * Products have many Locations (through the LocationProducts join >>> table) >>> Sorry for hurting your brain. Well, it hurts mine at least. Anyway, >>> here are the model definitions: >>> class User < ActiveRecord::Base >>> hobo_user_model # Don't put anything above this >>> fields do >>> name :string, :required, :unique >>> email_address :email_address, :login => true >>> administrator :boolean, :default => false >>> customer :boolean, :default => true >>> employee :boolean, :default => false >>> timestamps >>> end >>> belongs_to :default_location, :class_name => "Location" >>> end >>> class Location < ActiveRecord::Base >>> hobo_model # Don't put anything above this >>> fields do >>> name :string >>> timestamps >>> end >>> has_many :users >>> has_many :products, :through => :location_product >>> has_many :orders >>> end >>> class Order < ActiveRecord::Base >>> hobo_model # Don't put anything above this >>> fields do >>> timestamps >>> end >>> belongs_to :sender, :class_name => "User" >>> belongs_to :receiver, :class_name => "User" >>> belongs_to :sender_location, :class_name => "Location" >>> belongs_to :receiver_location, :class_name => "Location" >>> has_many :product_orders, :accessible => true >>> has_many :products, :through => :product_orders, :accessible => >>> false >>> end >>> class Product < ActiveRecord::Base >>> hobo_model # Don't put anything above this >>> fields do >>> name :string >>> code :integer >>> comments :text >>> discontinued :boolean >>> supplier :string >>> timestamps >>> end >>> has_many :product_orders >>> has_many :orders, :through => :product_orders, :accessible => false >>> has_many :locations, :through => :location_products, :accessible => >>> true >>> end >>> class LocationProduct < ActiveRecord::Base >>> hobo_model # Don't put anything above this >>> fields do >>> minimum :integer >>> current :integer >>> timestamps >>> end >>> belongs_to :location >>> belongs_to :product >>> validates_presence_of :minimum >>> validates_presence_of :current >>> end >>> class ProductOrder < ActiveRecord::Base >>> hobo_model # Don't put anything above this >>> fields do >>> quantity :integer >>> timestamps >>> end >>> belongs_to :product >>> belongs_to :order >>> validates_presence_of :quantity >>> end >>> That's my setup so far. Now if I attempt to use any children >>> ViewHints at all, I get one of the two errors I mentioned above. For >>> instance: >>> class LocationHints < Hobo::ViewHints >>> children :users, :products, :orders >>> end >>> Gives this error: >>> Dec 08 11:24:14 -0800 2009: Read error: #<NoMethodError: undefined >>> method `name' for nil:NilClass> >>> /usr/lib/ruby/gems/1.8/gems/hobosupport-0.9.102/lib/hobo_support.rb: >>> 29:in `safe_constantize' >>> /usr/lib/ruby/gems/1.8/gems/hobo-0.9.102/lib/hobo/view_hints.rb:39:in >>> `__instance_exec0' >>> /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/ >>> core_ext/object/extending.rb:74:in `send' >>> /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/ >>> core_ext/object/extending.rb:74:in `instance_exec' >>> /usr/lib/ruby/gems/1.8/gems/hobo-0.9.102/lib/hobo/view_hints.rb:21:in >>> `children' >>> /srv/inventory/app/viewhints/location_hints.rb:2 >>> If it's inappropriate to post here for help with my models and this is >>> a problem with my model definitions, do please let me know where I >>> might find help (maybe a Rails group?) Thanks! >>> Brian >>> -- >>> 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 >>> athttp://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. > > > -- 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.
