Ruby on Rails Tuesday, March 1, 2011

On 1 March 2011 08:44, Fabrice Fabrisss <lists@ruby-forum.com> wrote:
> Hello,
>
> I'd like to have the main menu of my web application dynamically
> generated from categories stored in a database.
>
> I created a partial for this menu:
> (views/category/_list.html.erb)
>
> <ul>
> <% @categories.each do |category| %>
>  <li><%= category.name %></li>
> <% end %>
> </ul>
>
>
> And I call this partial in the main layout:
> (layouts/application.html.erb):
>
> <%= render 'category/list' %>
>
> Unfortunately, the @categories variable is Nil because the category/list
> controller is not called with this method.
>
> How can I simply achieve this ? Thank you,

In your application_controller put a before_filter that sets up
@categories. This will then be setup for all controllers and actions.
You might want to use a different name such as @categories_for_menu
or something so that it does not clash with other uses of the variable
@categories.

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 rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

No comments:

Post a Comment