我目前正在使用
<li><%= link_to_unless_current("Home", root_path) %></li>
当导航栏不在根路径时显示导航栏上的Home链接。它工作正常,除了它留下文本&#34; Home&#34;当 在根路径上时,(不是链接,只是文本)。
我确定有更好的方法可以做到这一点,任何提示?
答案 0 :(得分:6)
link_to("Home", root_path) unless current_page?(root_url)
答案 1 :(得分:1)
您可以这样做以省略“Home”:
<%= link_to_unless_current("Home", root_path) { "" } %>
API表明,如果你想做的不仅仅是返回名字,你可以传入一个块并做你想做的事情,在这种情况下返回一个空字符串。
答案 2 :(得分:0)
link_to_unless_current
通过以下方式工作:
此功能通常用于您仍希望显示“当前”选项的菜单中,即使您在该页面上 - 通常您也会想要以某种方式突出显示它。
如果您希望链接根本不显示,只需执行“正常”链接并使用,除非在整个link_to方法调用中。例如Benjamin Tan的例子:
link_to("Home", root_path) unless current_page?(root_path)
答案 3 :(得分:0)
我认为不使用link_to_unless或link_to_if会更好,因为它会混淆用户。最好更改其样式或背景,并留下链接以轻松重新加载页面点击链接。