0

我尝试使用 current_page?我的导航栏中的方法是这样的:

<ul class="nav pull-right">
      <li class="<%="active" if current_page?(controller: :welcome)%>"><%= link_to "Home", "/"%></li>
      <li class="<%="active" if current_page?(controller: :products)%>"><%= link_to "Store", "/products"%></li>
      <li class="<%="active" if current_page?(controller: :catalog)%>"><%= link_to "Catalog", "/catalog"%></li>
...

当我在页面之间移动时一切正常。但是,当我尝试访问/adminrails_admin 提供的服务时,我得到 500 internal server error 作为响应。这可能是由 current_page 引起的?方法,因为如果我从布局中删除它们一切正常。

我会很感激任何解决方案。

4

2 回答 2

1

如果有人遇到此问题并想要修复它,您需要在将参数传递给 current_page 的方式中使用绝对 url?

因此,在您的情况下,此代码将起作用:

<ul class="nav pull-right">
  <li class="<%="active" if current_page?(controller: '/welcome')%>"><%= link_to "Home", "/"%></li>
  <li class="<%="active" if current_page?(controller: '/products')%>"><%= link_to "Store", "/products"%></li>
  <li class="<%="active" if current_page?(controller: '/catalog'')%>"><%= link_to "Catalog", "/catalog"%></li>
于 2014-12-14T10:08:54.383 回答
0

layout false我刚刚通过添加设计会话控制器禁用了使用默认布局,现在一切正常。谢谢!

于 2013-10-22T10:48:50.320 回答