Hi guys, recently encountered this funny problem which i really dunno
wat happen…
I have been trying on it for the past few days and just doesnt work.Hope
you guys can give me some enlightenment.
Problem:
The functional test doesnt seems to be able to recognise one of my
model, and when i run the test, it keeps giving me the error of"You have
nil object when you don’t expect it". I tried rake
clone_structure_to_test but it still dont work. Checked my controllers
code but it has a code that says :
@countryinfo = Country.find(:first,:conditions=>[“name =
?”,@params[‘country’]])
I dunno why the functional test just couldn’t seems to recognise this
statement and so i gives me error that i am using a nil object in the
view templates.
Here is the actual error given :
ActionView::TemplateError: You have a nil object when you didn’t expect
it!
The error occured while evaluating nil.two_letter_code
.
.
143: <input type=“hidden” name=“country” value="<%=
@coun tryinfo.two_letter_code
.
.
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_view/base.rb:268:in
send' /usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_view/base.rb:268:incompile_and_render_template’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_view/base.rb:244:in
render_template' /usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_view/base.rb:205:inrender_file’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/base.rb:
655:in render_file' /usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/base.rb: 595:inrender_with_no_layout’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/layout.r
b:220:in render_without_benchmark' /usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/benchmar king.rb:53:inrender’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/benchmar
king.rb:53:in measure' /usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/benchmar king.rb:53:inrender’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/base.rb:
854:in perform_action_without_filters' /usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/filters. rb:332:inperform_action_without_benchmark’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/benchmar
king.rb:69:in perform_action_without_rescue' /usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/benchmar king.rb:69:inmeasure’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/benchmar
king.rb:69:in perform_action_without_rescue' /usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/rescue.r b:82:inperform_action’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/base.rb:
369:in send' /usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/base.rb: 369:inprocess_without_session_management_support’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/session_
management.rb:116:in process_without_test' /usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/test_pro cess.rb:16:inprocess’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/test_pro
cess.rb:300:in process' /usr/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/test_pro cess.rb:307:inpost’
signup_controller_test.rb:26:in test_zipdial_correct_flow' /usr/lib/ruby/1.8/test/unit/testcase.rb:70:insend’
/usr/lib/ruby/1.8/test/unit/testcase.rb:70:in run' /usr/lib/ruby/1.8/test/unit/testsuite.rb:32:inrun’
/usr/lib/ruby/1.8/test/unit/testsuite.rb:31:in each' /usr/lib/ruby/1.8/test/unit/testsuite.rb:31:inrun’
/usr/lib/ruby/1.8/test/unit/testsuite.rb:32:in run' /usr/lib/ruby/1.8/test/unit/testsuite.rb:31:ineach’
/usr/lib/ruby/1.8/test/unit/testsuite.rb:31:in run' /usr/lib/ruby/1.8/test/unit/ui/testrunnermediator.rb:44:inrun_suite’
/usr/lib/ruby/1.8/test/unit/ui/console/testrunner.rb:65:in
start_mediator' /usr/lib/ruby/1.8/test/unit/ui/console/testrunner.rb:39:instart’
/usr/lib/ruby/1.8/test/unit/ui/testrunnerutilities.rb:27:in run' /usr/lib/ruby/1.8/test/unit/autorunner.rb:200:inrun’
/usr/lib/ruby/1.8/test/unit/autorunner.rb:13:in `run’
/usr/lib/ruby/1.8/test/unit.rb:285
/usr/lib/ruby/1.8/test/unit.rb:283