andkjaer wrote:
> Hi,
> I have a question regarding rendering partials:
> 
> I have this controller called twitter
> 
> class TwitterController < ApplicationController
> 
>   def index
>     @twitter_search = Twitter::Search.new('#rails')
>   end
> end
> 
> In the twitter index views i render a partial:
> 
> <%= render :partial => "shared/twitterlist" %>

First of all you're relying on implicit instance variables in your 
partials. You really shouldn't do that. The current version of Rails 
automatically injects instance variable assigned in the controller into 
partials. I believe, however, that this behavior has been deprecated and 
may be removed in future versions of Rails. Instead you should 
explicitly pass local data into the partial with :locals => 
@twitter_search, or similar technique.

> This work's fine for the Twitter index view, but when I call the
> render partial from another view like dashboard/index like this:
> 
> <%= render :partial => "shared/twitterlist" %>
>
> I get this error:
> 
> You have a nil object when you didn't expect it!
> You might have expected an instance of Array.
> The error occurred while evaluating nil.each

If you need that data available to pass into the shared partial then you 
need to assign that data in the controller calling used for rendering 
the view/partial.

> What am I doing wrong here?
> Is it even possible to share data across the views like that?

Keep in mind that instance variables set in controllers are only 
available for one request/response cycle. Any data you need for a view 
you should assign in the controller action used to render the view.
-- 
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