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:in
compile_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:in
render_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:in
render_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:in
render’
/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:in
render’
/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:in
perform_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:in
measure’
/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:in
perform_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:in
process_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:in
process’
/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:in
post’
signup_controller_test.rb:26:in test_zipdial_correct_flow' /usr/lib/ruby/1.8/test/unit/testcase.rb:70:in
send’
/usr/lib/ruby/1.8/test/unit/testcase.rb:70:in run' /usr/lib/ruby/1.8/test/unit/testsuite.rb:32:in
run’
/usr/lib/ruby/1.8/test/unit/testsuite.rb:31:in each' /usr/lib/ruby/1.8/test/unit/testsuite.rb:31:in
run’
/usr/lib/ruby/1.8/test/unit/testsuite.rb:32:in run' /usr/lib/ruby/1.8/test/unit/testsuite.rb:31:in
each’
/usr/lib/ruby/1.8/test/unit/testsuite.rb:31:in run' /usr/lib/ruby/1.8/test/unit/ui/testrunnermediator.rb:44:in
run_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:in
start’
/usr/lib/ruby/1.8/test/unit/ui/testrunnerutilities.rb:27:in run' /usr/lib/ruby/1.8/test/unit/autorunner.rb:200:in
run’
/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