Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我如何干燥我的主动导航链接?_Ruby On Rails - Fatal编程技术网

Ruby on rails 我如何干燥我的主动导航链接?

Ruby on rails 我如何干燥我的主动导航链接?,ruby-on-rails,Ruby On Rails,我希望将其传递给控制器,这样我就不必重复或询问路径名 <ul class="nav navbar-nav"> <li><%= link_to 'Breakfast', '/breakfast', class: ('active' if request.path == breakfast_path) %></li> <li><%= link_to 'Lunch', '/lunch', class: ('active'

我希望将其传递给控制器,这样我就不必重复或询问路径名

<ul class="nav navbar-nav">
    <li><%= link_to 'Breakfast', '/breakfast', class: ('active' if request.path == breakfast_path) %></li>
    <li><%= link_to 'Lunch', '/lunch', class: ('active' if request.path == lunch_path) %></li>
    <li><%= link_to 'Deli', '/deli', class: ('active' if request.path == deli_path) %></li>
    <li><%= link_to 'Contact', '/contact', class: ('active' if request.path == contact_path) %></li>
</ul>
宝石不会被认为是一个答案


谢谢

我不确定将其传递到控制器是一个好的解决方案-它与视图逻辑有关,因此我认为视图是处理它的正确级别。也许创建一个将link_包装到的helper方法是正确的方法。以下是一个未经测试的想法:

  # YourHelper
  def nav_link_to(label, path)
     link_to(label, path, class: 'active' if path == request.path)
  end

我不确定将它传递给控制器是一个好的解决方案-它与视图逻辑有关,因此我认为视图是处理它的正确级别。也许创建一个将link_包装到的helper方法是正确的方法。以下是一个未经测试的想法:

  # YourHelper
  def nav_link_to(label, path)
     link_to(label, path, class: 'active' if path == request.path)
  end
您可以使用gem:


您可以使用gem: