I would like to hear ideas about a problem I'm having with testing a
controller from a model that uses polimorphism. It seems that the
fixture do not recognize the relationship. Did you see errors in these
files? The error I get is:

/***** ERROR *****/
  1) Error:
test_should_show_ingreso(IngresosControllerTest):
ActionView::TemplateError: You have a nil object when you didn't expect
it!
The error occurred while evaluating nil.nombre
    On line #18 of app/views/ingresos/show.html.erb

        15:
        16: <p>
        17:   <b>Origen</b>
        18:   <%=h @ingreso.origen_type %>: <%= @ingreso.origen.nombre
%>
        19: </p>
        20:
        21:

        app/views/ingresos/show.html.erb:18
        app/controllers/ingresos_controller.rb:86:in `show'
        /test/functional/ingresos_controller_test.rb:32:in
`test_should_show_ingreso'
        c:/ruby/lib/ruby/1.8/test/unit/testsuite.rb:34:in `run'
        c:/ruby/lib/ruby/1.8/test/unit/testsuite.rb:33:in `each'
        c:/ruby/lib/ruby/1.8/test/unit/testsuite.rb:33:in `run'
        c:/ruby/lib/ruby/1.8/test/unit/testsuite.rb:34:in `run'
        c:/ruby/lib/ruby/1.8/test/unit/testsuite.rb:33:in `each'
        c:/ruby/lib/ruby/1.8/test/unit/testsuite.rb:33:in `run'
        c:/ruby/lib/ruby/1.8/test/unit/ui/testrunnermediator.rb:46:in
`run_suite'
        c:/ruby/lib/ruby/1.8/test/unit/ui/console/testrunner.rb:67:in
`start_mediator'
        c:/ruby/lib/ruby/1.8/test/unit/ui/console/testrunner.rb:41:in
`start'
        c:/ruby/lib/ruby/1.8/test/unit/ui/testrunnerutilities.rb:29:in
`run'
        c:/ruby/lib/ruby/1.8/test/unit/autorunner.rb:216:in `run'
        c:/ruby/lib/ruby/1.8/test/unit/autorunner.rb:12:in `run'
        c:/ruby/lib/ruby/1.8/test/unit.rb:278
        rake (0.8.7) lib/rake/rake_test_loader.rb:5

/***** clientes.yml *****/
jack:
  NIF: B98654321
  nombre: Jack

/***** ingresos.yml *****/
primero:
  origen: jack (Cliente)

/***** cliente.rb *****/
class Cliente < ActiveRecord::Base
  has_many :ingresos, :as => :origen
end

/***** ingreso.rb *****/
class Ingreso < ActiveRecord::Base
  belongs_to :origen, :polymorphic => true
end

/***** test_ingresos_controller.rb *****/
  test "should show ingreso" do
    get :show, { :id => ingresos(:primero).to_param }, { :usuario_id =>
usuarios(:fulanito).id }

    assert_response :success
  end

/***** views/ingresos/show.html.erb
<p>
  <b>Origen</b>
  <%=h @ingreso.origen_type %>: <%= @ingreso.origen.nombre %>
</p>

Any help will be appreciated. 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@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to