controller variables in layout

I think the answer partially depends on what data you are trying to
display. If the data is static, or related to something predictable,
like the date, I would create a helper function and create the data in
there. There might be cases where the data you want needs to come
from the database though, and for that I would create a before filter:

before_filter :do_stuff

def do_stuff
    #stuff!
end

You should read up on before filters, there are more options that make
them conditional and such that can come in handy.

Read more here http://api.rubyonrails.org/classes/ActionController/Filters/ClassMethods.html