Creates a link tag of the given name
using a URL created by
the set of options
unless the current request URI is the same as the links, in which case only
the name is returned (or the given block is yielded, if one exists). You
can give link_to_unless_current
a block which will specialize
the default behavior (e.g., show a âStart Hereâ link rather than the
link's text).
Examples
Let's say you have a navigation menuâ¦
<ul id="navbar"> <li><%= link_to_unless_current("Home", { action: "index" }) %></li> <li><%= link_to_unless_current("About Us", { action: "about" }) %></li> </ul>
If in the âaboutâ action, it will renderâ¦
<ul id="navbar"> <li><a href="/controller/index">Home</a></li> <li>About Us</li> </ul>
â¦but if in the âindexâ action, it will render:
<ul id="navbar"> <li>Home</li> <li><a href="/controller/about">About Us</a></li> </ul>
The implicit block given to link_to_unless_current
is
evaluated if the current action is the action given. So, if we had a
comments page and wanted to render a âGo Backâ link instead of a link to
the comments page, we could do something like thisâ¦
<%= link_to_unless_current("Comment", { controller: "comments", action: "new" }) do link_to("Go back", { controller: "posts", action: "index" }) end %>
Please login to continue.