Philip Hallstrom
2006-Apr-11 16:47 UTC
[Rails] can''t get render... :collection to work ??
Hi all - New to Rails so I''m hoping this is something obvious, but I can''t get it to work. Here''s my view: ---------------------------------------------------------------------- <% @search.results.each do |r| %> <%= render :partial => ''result'', :locals => {:result => r} %> <%= render :partial => ''result_divider'' %> <% end %> <%= render :partial => ''result'', :collection => @search.results, :spacer_template => ''result_divider'' %> ---------------------------------------------------------------------- _result.html looks like this: ---------------------------------------------------------------------- <%= result[:url] %> ---------------------------------------------------------------------- _result_divider.rhtml contains "<hr>". If I remove the last render() call the page prints out the url field separated by <hr>''s just like I''d expect. If I include that last render() call I get an error pointing to _result.html: ---------------------------------------------------------------------- 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.[] ---------------------------------------------------------------------- What I don''t understand is why the first works, but not the second since my understanding is that first each() loop is really the same thing as the second render() call. ??? Thanks! -philip