By convention, any partials that are loaded by "application.html.erb"
are loaded by all controllers in the application.  That being the
case, when rendering app->messages->index:

  The app...erb line will read "<%= render :partial => 'layouts/
app_wide_partial' %>
  The partial will be found in views/layouts/
_app_wide_partial.html.erb
  When the line in app...erb is reached that reads "<%= yield %>"
     The file "views/messages/index.html.erb" is rendered

  And you have a file views/layouts/application.html.erb
    that calls "<%= render :partial => 'navbar_tabs' %>"
  Rails will look for the partial named: views/messages/
_navbar_tabs.html.erb

It is customary practice to follow the convention "... :partial =>
'directory/partial' %>" just so there is no confusion.  Thus, if you
had additional message related tabs, you would include in views/
messages/index.html.erb: <%= render :partial => 'messages/
msg_navbar_tabs' %>

On Sep 8, 10:55 am, Colin Law <[email protected]> wrote:
> 2009/9/8 Dudebot <[email protected]>:
>
>
>
>
>
> > Hi Gurus, how do I include a partial in my main layout?
>
> > In views/layouts/application.html.erb I have
>
> > <code>
> > ...
> > <%= render :partial => 'navbar_tabs' %>
> > ...
> > </code>
> > No matter where I put _navbar_tabs.html.erb (or renamed it to
> > _navbar_tabs.erb in desperation) I get the error
>
> > Showing app/views/layouts/application.html.erb where line #20 raised:
>
> > Missing template messages/_navbar_tabs.erb in view path app/views
>
> What happens if you name it _navbar_tabs.html.erb and put in in 
> views/messages?
>
> Colin
--~--~---------~--~----~------------~-------~--~----~
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 [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to