On Apr 21, 4:37 pm, Michael Pavling <[email protected]> wrote:
> On 21 April 2010 20:36, Thomas Allen <[email protected]> wrote:
>
> >    active = request.request_uri == url
>
> Would using url_for() not save you a lot of hassle generating that url?

Thanks Michael, url_for was what I was looking for in place of
manually grabbing the router. But why do you think that would change
the line you quoted?

Here is the updated method:

def menu_item text, url = {}
  unless url[:access] and active_user.cannot? url[:access]

    routes = ActionController::Routing::Routes

    unless url.is_a? String
      if url[:controller]
        url = url_for url
      else
        url = url_for :controller => text
      end
    end

    unless text.is_a? String
      text = t text
    end

    active = request.request_uri == url

    "<li#{' class="active"' if active}>#{ link_to text, url }</li>"
  end
end

Thomas

-- 
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