我目前正在使用
<li><%= link_to_unless_current("Home", root_path) %></li>
当它们不在根路径时,在导航栏上显示主页链接。它工作正常,除了当它们位于根路径时留下文本“Home”(不是链接,只是文本) 。
我敢肯定有更好的方法来做到这一点,有什么建议吗?
我目前正在使用
<li><%= link_to_unless_current("Home", root_path) %></li>
当它们不在根路径时,在导航栏上显示主页链接。它工作正常,除了当它们位于根路径时留下文本“Home”(不是链接,只是文本) 。
我敢肯定有更好的方法来做到这一点,有什么建议吗?
link_to("Home", root_path) unless current_page?(root_url)
您可以这样做以省略“Home”:
<%= link_to_unless_current("Home", root_path) { "" } %>
API表明,如果您想做的不仅仅是返回名称,您可以传入一个块并执行您想要的操作,在这种情况下返回一个空字符串。
link_to_unless_current
通过这样做工作:
此功能通常用于您仍希望显示“当前”选项的菜单中,即使您在该页面上 - 通常您经常希望以某种方式突出显示它。
如果您希望链接根本不显示,只需执行“正常”链接并使用,除非在整个 link_to 方法调用中使用。例如本杰明谭的例子:
link_to("Home", root_path) unless current_page?(root_path)
我想最好不要使用 link_to_unless 或 link_to_if,因为它会使用户感到困惑。最好更改其样式或背景并留下链接以轻松重新加载页面点击链接。