Using data in application.rhtml layout

Scott Holland wrote:

I'm setting up a forum and I'm having a sidebar which will display the recent postings and will be used throughout the site. This sidebar is part of the application.rhtml layout.

How do I use data from the "forum" controller in this layout when the layout is used on all of the other controllers across the site?

Could someone point me in the right direction?

Many thanks - when I get a little more advanced I hope I can contribute as much advice as you guys have so kindly given me :slight_smile:

Use a partial (perhaps in a /shared folder) and populate it with an instance variable set up in the application controller using a before_filter.

So something like this

_recent_postings_sidebar.rhtml

    <% @recent_posts.each do |post| %>         <%= post.title %>     <% end %>

in the application controller     :before_filter :setup_sidebar

    def setup_sidebar         @recent_posts = Post.find(:all, :limit => 20, :order => "created_at DESC")     end

and then in your layout:

render :partial => "/shared/recent_postings_sidebar"

That worked great on my local machine, but when I uploaded it to a server using fcgi the variable does not update once it has been initially set.

Any ideas?