Ah, that makes sense now. For the sake of correctness, the final code
(with a yield and without the unused routes variable):
def menu_item text, url = {}
unless url[:access] and active_user.cannot? url[:access]
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
content = link_to text, url
if block_given?
content << yield
end
"<li#{' class="active"' if active}>#{content}</li>"
end
end
Thomas
On Apr 21, 5:07 pm, Michael Pavling <[email protected]> wrote:
> On 21 April 2010 22:00, Thomas Allen <[email protected]> wrote:
>
> > 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?
>
> > But why do you think that would change the line you quoted?
>
> It wouldn't necessarily; I was just referring to its use of the "url"
> variable.
>
> --
> 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
> athttp://groups.google.com/group/rubyonrails-talk?hl=en.
--
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.