phoenix-framework - 使用 Phoenix 框架呈现导航的最佳方式是什么?

标签 phoenix-framework

我想在 app.html.ex 模板中包含一个导航栏。像这样的东西:

<nav class="navbar navbar-inverse navbar-fixed-top">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">My app</a>
    </div>
    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav">
        <li class="active"><a href="/">Home</a></li>
        <li><a href="help">Help</a></li>
        <li><a href="contact">Contact Us</a></li>
      </ul>
    </div>
  </div>
</nav>

有没有办法渲染ul,以便它可以根据当前 Controller 附加class="active"

最佳答案

我还没有看到渲染导航的方法。 或者,您可以编写一些辅助方法。

为了设置class="active",我向layout_view.ex添加了一些方法。

def is_example_path(conn) do 
  controller_module(conn) == MyApp.ExampleController
end

因此您可以将类似的内容添加到您的模板中。

<ul>
  <li class="something <%= if is_example_path(@conn), do: " active" %>">Example</li>
</ul>

希望这有帮助。

关于phoenix-framework - 使用 Phoenix 框架呈现导航的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35973341/

相关文章:

enums - 枚举 Elixir 数据(包括嵌套)并在 EEx 中显示键/值?

node.js - 在dokku中运行的phoenix项目中使用sass

javascript - 如何将前端 API 参数与后端 API 匹配

json - 在 Elixir/Phoenix 应用程序中解析 JSON,不是在 Controller 或模型内部,而是从 "/lib"解析

elixir - 无法调用任务 "distillery.release"

csv - 如何在 elixir phoenix 框架中制作导出 csv Controller ?

mysql - 使用 Elixir - Ecto 进行复杂查询

elixir - dev.ex Elixir Phoenix 中的 System.get_env

Elixir/Phoenix 扫描目录以查找目录