How do I identify the initiating View from within a Helper?


#1

I would like to call a helper method from my View to construct a sidebar
menu. The menu is contextual, so ideally I would like to do something
like this:

View

<%= sidebar_menu %>

Helper

def sidebar_menu
case calling_view
when ‘view_identifier
… build menu…
end
end

where ‘calling_view’ is the key that points to the
view_identifier’, if this this makes sense!

I could send a parameter with the method call (eg
sidebar_menu(‘search_screen’)), but I consider this redundant.

Is this possile? Is there a better approach?

-Lindsay


#2

Lindsay B. wrote:

def sidebar_menu
sidebar_menu(‘search_screen’)), but I consider this redundant.

Is this possile? Is there a better approach?

The action name is available as “action_name”.

As for the view name, all I can see after a quick look through
the Rails code is the variable “@first_render”. It’ll work,
but is undocumented, and so is not guaranteed to work in future
versions.


We develop, watch us RoR, in numbers too big to ignore.