I''m following the depot application in the rails bible Agile Web Development with Rails. In interation E1 NoMethodError in Admin#checkout Showing app/views/admin/checkout.rhtml where line #12 raised: You have a nil object when you didn''t expect it! You might have expected an instance of Array. The error occured while evaluating nil.include? Extracted source (around line #12): 9: <% form_for :list, :url => { :action => :save_list } do |form| %> 10: <p> 11: <label for="list_name">List Name:</label> 12: <!-- <%= form.text_field :name, :size => 40 %> --> 13: </p> I have a page with all the product listed. And I''m creating the list by choosing from products on this page. For database and model setting I have product.rb has many list_item list.rb has many list_item list_item.rb class ListItem #belongs_to :list #belongs_to :product include Reloadable attr_reader :product, :quantity The lines I commented out will generate errors as follows NoMethodError undefined method `belongs_to'' for ListItem:Class RAILS_ROOT: C:/INSTAN~1/rails_apps/test/config/.. Application Trace | Framework Trace | Full Trace #{RAILS_ROOT}/app/models/list_item.rb:4 #{RAILS_ROOT}/app/controllers/application.rb:8 This error occured while loading the following files: application.rb => model list_item.rb list_item.rb I think this is the root of the nil object problem in checkout. Since line_item is not correctly related to list and product. So the list is a nil object. Anyone knows why "belongs to " is not recognized? Thanks in advance -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
> class ListItem > > #belongs_to :list > #belongs_to :product > include Reloadable > attr_reader :product, :quantityListItem needs to extend ActiveRecord::Base class ListItem < ActiveRecord::Base belongs_to :list belongs_to :product ... end -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Snowman wrote:>> class ListItem >> >> #belongs_to :list >> #belongs_to :product >> include Reloadable >> attr_reader :product, :quantity > > ListItem needs to extend ActiveRecord::Base > > class ListItem < ActiveRecord::Base > belongs_to :list > belongs_to :product > > ... > > endThanks! belongs_to is recognized. But the nil object problem still remains. My reasoning about the "belongs_to unrecognition" to "nil object" seems to be wrong. Followings are my the action capture the list item. def add_to_list begin @product = Product.find(params[:id]) rescue logger.error("Attempt to access invalid product #{params[:id]}") flash[:notice] = "There is no such product" redirect_to :action => :index else @list = find_list @current_item= @list.add_product(@product) redirect_to_index unless request.xhr? end end def checkout @list = find_list if @list.items.empty? redirect_to_index("Your list is empty") else @list = List.new end end def empty_list session[:list] =nil redirect_to_index end -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
> def checkout > @list = find_list > if @list.items.empty? > redirect_to_index("Your list is empty") > else > @list = List.new > end > endMy guess is that find_list is returning nil and you''re getting an error when you call @list.items. If this is not it then I''ll need more information - do you have a stack trace? -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Snowman wrote:>> def checkout >> @list = find_list >> if @list.items.empty? >> redirect_to_index("Your list is empty") >> else >> @list = List.new >> end >> end > > My guess is that find_list is returning nil and you''re getting an error > when you call @list.items. If this is not it then I''ll need more > information - do you have a stack trace?Do you mean this? You have a nil object when you didn''t expect it! You might have expected an instance of Array. The error occured while evaluating nil.include? Extracted source (around line #12): 9: <% form_for :list, :url => { :action => :save_list } do |form| %> 10: <p> 11: <label for="list_name">皜?迂:</label> 12: <!-- <%= form.text_field :name, :size => 40 %> --> 13: </p> 14: 15: RAILS_ROOT: C:/INSTAN~1/rails_apps/test/config/.. Application Trace | Framework Trace | Full Trace C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/base.rb:1772:in `method_missing'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:341:in `send'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:341:in `value_before_type_cast'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:253:in `to_input_field_tag'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:160:in `text_field'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:395:in `send'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:395:in `text_field'' #{RAILS_ROOT}/app/views/admin/checkout.rhtml:12:in `_run_rhtml_admin_checkout'' #{RAILS_ROOT}/app/views/admin/checkout.rhtml:9:in `_run_rhtml_admin_checkout'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/base.rb:1772:in `method_missing'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:341:in `send'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:341:in `value_before_type_cast'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:253:in `to_input_field_tag'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:160:in `text_field'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:395:in `send'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:395:in `text_field'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:149:in `fields_for'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:127:in `form_for'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/base.rb:316:in `send'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/base.rb:316:in `compile_and_render_template'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/base.rb:292:in `render_template'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/base.rb:251:in `render_file'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:726:in `render_file'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:648:in `render_with_no_layout'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/layout.rb:245:in `render_without_benchmark'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/benchmarking.rb:53:in `render'' C:/INSTAN~1/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/benchmarking.rb:53:in `render'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:942:in `perform_action_without_filters'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:368:in `perform_action_without_benchmark'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/benchmarking.rb:69:in `perform_action_without_rescue'' C:/INSTAN~1/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/benchmarking.rb:69:in `perform_action_without_rescue'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/rescue.rb:82:in `perform_action'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:408:in `send'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:408:in `process_without_filters'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:377:in `process_without_session_management_support'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/session_management.rb:117:in `process'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/dispatcher.rb:38:in `dispatch'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel/rails.rb:73:in `process'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:551:in `process_client'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:550:in `each'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:550:in `process_client'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:636:in `run'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:636:in `initialize'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:636:in `new'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:636:in `run'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:625:in `initialize'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:625:in `new'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:625:in `run'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:956:in `run'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:955:in `each'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:955:in `run'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/bin/mongrel_rails:127:in `run'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel/command.rb:199:in `run'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/bin/mongrel_rails:235 C:/INSTAN~1/ruby/bin/mongrel_rails:18:in `load'' C:/INSTAN~1/ruby/bin/mongrel_rails:18 C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/base.rb:1772:in `method_missing'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:341:in `send'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:341:in `value_before_type_cast'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:253:in `to_input_field_tag'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:160:in `text_field'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:395:in `send'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:395:in `text_field'' #{RAILS_ROOT}/app/views/admin/checkout.rhtml:12:in `_run_rhtml_admin_checkout'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:149:in `fields_for'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:127:in `form_for'' #{RAILS_ROOT}/app/views/admin/checkout.rhtml:9:in `_run_rhtml_admin_checkout'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/base.rb:316:in `send'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/base.rb:316:in `compile_and_render_template'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/base.rb:292:in `render_template'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/base.rb:251:in `render_file'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:726:in `render_file'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:648:in `render_with_no_layout'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/layout.rb:245:in `render_without_benchmark'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/benchmarking.rb:53:in `render'' C:/INSTAN~1/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/benchmarking.rb:53:in `render'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:942:in `perform_action_without_filters'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:368:in `perform_action_without_benchmark'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/benchmarking.rb:69:in `perform_action_without_rescue'' C:/INSTAN~1/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/benchmarking.rb:69:in `perform_action_without_rescue'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/rescue.rb:82:in `perform_action'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:408:in `send'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:408:in `process_without_filters'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:377:in `process_without_session_management_support'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/session_management.rb:117:in `process'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/dispatcher.rb:38:in `dispatch'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel/rails.rb:73:in `process'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:551:in `process_client'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:550:in `each'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:550:in `process_client'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:636:in `run'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:636:in `initialize'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:636:in `new'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:636:in `run'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:625:in `initialize'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:625:in `new'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:625:in `run'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:956:in `run'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:955:in `each'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel.rb:955:in `run'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/bin/mongrel_rails:127:in `run'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel/command.rb:199:in `run'' C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/bin/mongrel_rails:235 C:/INSTAN~1/ruby/bin/mongrel_rails:18:in `load'' C:/INSTAN~1/ruby/bin/mongrel_rails:18 Request Parameters: None Show session dump --- :user_id: 1 :list: !ruby/object:List items: - !ruby/object:ListItem product: !ruby/object:Product attributes: popular_score: title: !binary | 5LiJ6YOO6aSQ5YyF nickname: primary_price: "30" primary_link: http://tw.yahoo.com id: "1" image_url1: http://pandora.com/images/logo_pandora.gif description: !binary | 6auY6ZuE5ZCN55Si user_id: "4" created_at: 0000-00-00 00:00:00 browse_times: quantity: 1 - !ruby/object:ListItem product: !ruby/object:Product attributes: popular_score: title: Chanel patent- leather high- heels nickname: primary_price: "500" primary_link: http://www.highheelshoemuseum.com/ id: "3" image_url1: http://ec3.images-amazon.com/images/P/B000H6QZLA.01-A242Z34VYGHM9W._AA280_SCLZZZZZZZ_V62233886_.jpg description: bold red and patent red are this season''s must-buy user_id: "4" created_at: 0000-00-00 00:00:00 browse_times: quantity: 1 - !ruby/object:ListItem product: !ruby/object:Product attributes: popular_score: title: "\xE5\xB9\xB3\xE5\xBA\x95\xE5\x9C\x93\xE9 \xAD\xE8\x8A\xAD\xE8\x95\xBE\xE9\x9E\x8B" nickname: primary_price: "690" primary_link: http://tw.page.bid.yahoo.com/tw/auction/1148041732 id: "4" image_url1: http://tw.image.bid.yahoo.com/users/4/8/1/3/titi811019-img600x300-1162618416nn21-4.jpg description: "\xE4\xB8\x80\xE7\x9B\xB4\xE5\xBE\x88\xE6\x83\xB3\xE5?\x9A\xE5\x83?French Sole. London Sole\xE9\x82\xA3\xE6\xA8\xA3\xE7\x9A\x84\xE8\x8A\xAD\xE8\x95\xBE\xE9\x9E\x8B\xE6\xAC\xBE!\r\n\ \xE7\xB1\x8C\xE5\x82\x99\xE5\xBE\x88\xE4\xB9\x85\xE7\xB5\x82\xE6\x96\xBC\xE4\xB8\x8A\xE6\x9E\xB6\xE5\x9B\x89^^\r\n\ \xE9\x9E\x8B\xE5\xBA\x95\xE7\x89\xB9\xE5\x88\xA5\xE4\xBD\xBF\xE7\x94\xA8\xE9\x98\xB2\xE6\xBB\x91\xE7\x9A\x84\xE6\xA9\xA1\xE8\x86 \xE5\xBA\x95~\r\n\ \xE5\x8A \xE4\xB8\x8A\xE5\x8E\x9A\xE5\x8E\x9A\xE7\x9A\x84\xE6\xB0\xA3\xE5\xA2\x8A\xE9\x9E\x8B\xE5\xBA\x95~\r\n\ \xE7\xA9\xBF\xE8\xB5\xB7\xE4\xBE\x86\xE5\x83?\xE9?\x8B\xE5\x8B\x95\xE9\x9E\x8B\xE4\xB8\x80\xE6\xA8\xA3\xE8\x88\x92\xE6\x9C?\xE5\x96\x94!\r\n\ \r\n\ \xE6\xAF?\xE9\x9B\x99\xE9\x83\xBD\xE6?\xAD\xE9\x85?\xE4\xB8?\xE5?\x8C\xE7\x9A\x84\xE8?\xB4\xE8?\xB6\xE7\xB5?\xE5\x92\x8C\xE8\xBB\x8A\xE9\x82\x8A.\xE8\xB6\x85\xE7\xB4\x9A\xE5?\xAF\xE6\x84\x9B\xE5\x96\x94!\r\n\ \xE6\x8E\xA8\xE5\x87\xBA\xE7\xA7\x8B\xE5\x86\xAC\xE6\x96\xB0\xE8\x89\xB2!\xE6\xBC\x86\xE7\x9A\xAE\xE6\xAC\xBE!\xE8\xB1?\xE5\xAF\x8C\xE7\x9A\x84\xE7\xB3\x96\xE6\x9E\x9C\xE8\x89\xB2\xE5\xBD\xA9!\xE7\x9C\x8B\xE4\xBA\x86\xE5\xB0\xB1\xE8\xB6\x85\xE7\xB4\x9A\xE5\x96\x9C\xE6\xAD\xA1^^\r\n\ \xE6\x96\xB0\xE5\xA2\x9E\xE5\xA4\xA7\xE5\xB0\xBA\xE7\xA2\xBC43~45!\xE6\x95\xB8\xE9\x87?\xE4\xB8?\xE5\xA4\x9A\xE5\x96\x9C\xE6\xAD\xA1\xE8\xA6?\xE6\x8A\x8A\xE6?\xA1\xE5\x96\x94^^ " user_id: "4" created_at: 0000-00-00 00:00:00 browse_times: quantity: 1 - !ruby/object:ListItem product: !ruby/object:Product attributes: popular_score: title: "ZARA \xE7\xB7\x9E\xE5\xB8\xB6\xE5\x84\xAA\xE9\x9B\x85\xE6\xAC\xBE\xE5\x9C\x93\xE9\xA0\xAD\xE5\xB9\xB3\xE5\xBA\x95\xE9\x9E\x8B" nickname: primary_price: "3450" primary_link: http://tw.page.bid.yahoo.com/tw/auction/1148216341 id: "5" image_url1: http://tw.image.bid.yahoo.com/users/0/3/2/9/princesskkk313-img480x360-11663084155-10.jpg description: "ZARA \xE8\xA5\xBF\xE7\x8F\xAD\xE7\x89\x99\xE6\x9C\x8D\xE9\xA3\xBE\r\n\ \r\n\ \xE9\xA6\x99\xE5\xA5\x88\xE5\x85\x92\xE6\x9C\x89\xE4\xB8\x80\xE6\xAC\xBE\xE8\xB6\x85\xE5\x83\x8F\xE9\x80\x99\xE5\x80\x8B\xE7\x9A\x84\r\n\ \r\n\ \xE5\xBE\x88\xE5\x84\xAA\xE9\x9B\x85\xE7\x9A\x84\xE4\xB8\x80\xE6\xAC\xBE\xE7\xA9\xBF\xE8\xB5\xB7\xE4\xBE\x86\xE5\xBE\x88\xE6\x9C\x89\xE6\xB0\xA3\xE8\xB3\xAA\xE6\xAD\x90 ^O^\r\n\ \r\n\ \xE6\x90\xAD\xE9\x85\x8D\xE6\x88\x91\xE9\x85\x8D\xE6\x88\x91\xE8\xB3\xA3\xE5\xA0\xB4\xE7\x9A\x84\xE9\xA6\x99\xE5\xA5\x88\xE5\x85\x92\xE5\x8C\x85\xE8\xB6\x85\xE5\xA5\xBD\xE7\x9C\x8B\xE7\x9A\x84\xEF\xBC\x81\xEF\xBC\x81 \r\n\ \r\n\ \xE5\x89\x9B\xE4\xB8\x8A\xE5\xB8\x82\xE5\xB0\xB1\xE8\xA2\xAB\xE6\x90\xB6\xE8\xB3\xBC\xE4\xB8\x80\xE7\xA9\xBA\xE4\xBA\x86!\r\n\ \r\n\ \xE4\xB8\x8D\xE7\xA2\xBA\xE5\xAE\x9A\xE9\x82\x84\xE6\x9C\x89\xE6\xB2\x92\xE6\x9C\x89\xE8\xB2\xA8\xE5\xA6\x82\xE6\x9E\x9C\xE8\xA6\x81\xE7\x9A\x84\xE8\xA9\xB1\xE5\x85\x88\xE8\xB7\x9F\xE5\x87\xB1\xE8\xA5\xBF\xE8\xAA\xAA\xE6\x88\x91\xE6\x89\xBE\xE5\x88\xB0\xE5\x9C\xA8\xE4\xB8\x8B\xE6\xA8\x99\xE6\xAD\x90! \r\n\ \r\n \r\n\ \r\n\ \xE7\x9B\xAE\xE5\x89\x8D\xE6\x9C\x89\xE8\xB3\xBC\xE8\xB2\xB7\xE8\xB5\xB7\xE4\xBE\x86\xE7\x9A\x84\xE6\x9C\x89 36 \xE8\x99\x9F\xEF\xBC\x81\r\n\ \r\n\ \xE8\xB3\xA3\xE5\xA0\xB4\xE9\x82\x84\xE6\x9C\x89\xE7\xB1\xB3\xE8\x89\xB2\xE7\x9A\x84\xE4\xB9\x9F\xE8\xB3\xA3\xE7\x9A\x84\xE8\xB6\x85\xE7\xB4\x9A\xE5\xA5\xBD\xE4\xBA\x86\xEF\xBC\x81\xEF\xBC\x81 " user_id: "1" created_at: 0000-00-00 00:00:00 browse_times: quantity: 1 flash: !map:ActionController::Flash::FlashHash {} Thanks -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
And I also changed def checkout @list = find_list puts @list.inspect if @list.items.empty? redirect_to_index("Your list is empty") else @list = List.new end end in the server log the @list contains list item which is definitely not empty. It shows like this #<List:0x46cee3c @items=[#<ListItem:0x46cedd8 @quantity=1, @product=#<Product:0x46ced60 @attributes={"popular_score"=>nil, "t in Alta velvet knee high boots - NET-A-PORTER.COM", "nickname"=>nil, "primary_price"=>"49343", "primary_link"=>"http://www.ne 983", "id"=>"29", "image_url1"=>"http://www.net-a-porter.com/intl/images/product/15983/large/index.jpg", "description"=>"Blac with 110mm silver Swarovski rhinestone encrusted heel. Christian Louboutin boots have a pointed toe, a zip fastening on inner sole.", "user_id"=>"1", "created_at"=>"2007-01-12 17:50:51", "browse_times"=>nil}>>, #<ListItem:0x46ce7d4 @quantity=1, @produ ttributes={"popular_score"=>nil, "title"=>"Christian Louboutin - Raffia Slingback - Neiman Marcus", "nickname"=>nil, "prima ary_link"=>"http://www.neimanmarcus.com/store/catalog/prod.jhtml?itemId=prod35000031&parentId=cat5130731&masterId=cat000199&i 000141cat000149cat000199cat5130731", "id"=>"35", "image_url1"=>"http://www.neimanmarcus.com/products/mn/NMX0174_mn.jpg", "des Brown raffia.\r\n\342\200\242 Tonal leather piping.\r\n\342\200\242 Peep toe.\r\n\342\200\242 Elastic-back slingback.\r\n\342 \n\342\200\242 4 4/5\" heel.\r\n\342\200\242 Signature red sole.\r\n\342\200\242 Made in Italy. ", "user_id"=>"1", "created_a , "browse_times"=>nil}>>]> -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
> Do you mean this?Yes, that''s exactly what I meant. The line of code in rails that is causing the problem is this: if @attributes.include?(method_name) or in ActiveRecord::Base This indicates that some how the @attributes instance variable has been set to nil in one of your models. Are you directly using an instance variable with this name in one of your models? -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Snow Man wrote:>> Do you mean this? > > Yes, that''s exactly what I meant. > > The line of code in rails that is causing the problem is this: > > if @attributes.include?(method_name) or > > in ActiveRecord::Base > > This indicates that some how the @attributes instance variable has been > set to nil in one of your models. Are you directly using an instance > variable with this name in one of your models?I ended up finding out that I''m mistaking line_item.rb with cart_item.rb. I followed the book again. But this time I got an application error which is almost clueless.T T It''s really hard to figure out what''s going wrong. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Abon wrote:> Snow Man wrote: >>> Do you mean this? >> >> Yes, that''s exactly what I meant. >> >> The line of code in rails that is causing the problem is this: >> >> if @attributes.include?(method_name) or >> >> in ActiveRecord::Base >> >> This indicates that some how the @attributes instance variable has been >> set to nil in one of your models. Are you directly using an instance >> variable with this name in one of your models? > > I ended up finding out that I''m mistaking line_item.rb with > cart_item.rb. > I followed the book again. But this time I got an application error > which is almost clueless.T T > > It''s really hard to figure out what''s going wrong.There is what I digged out from my development.log Session contains objects whose class definition isn''t available. Remember to require the classes for all objects kept in the session. (Original exception: uninitialized constant ListItem [NameError]) -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
>> I ended up finding out that I''m mistaking line_item.rb with >> cart_item.rb. >> I followed the book again. But this time I got an application error >> which is almost clueless.T T >> >> It''s really hard to figure out what''s going wrong. > > This is what I digged out from my development.log > > Session contains objects whose class definition isn''t available. > Remember to require the classes for all objects kept in the session. > (Original exception: uninitialized constant ListItem [NameError])I''ve searched ListItem under the application directory. Not found. And I also cleared the sessions. Still the same application error. Where does Mongrel knows about ListItem? -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---