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.
