gpt4 book ai didi

elixir - Phoenix : showing/hiding Html elements depending on the route

转载 作者:行者123 更新时间:2023-12-02 04:39:11 25 4
gpt4 key购买 nike

如果我们不在主页上,我想显示菜单图标。我知道我需要使用这样的东西:

<div class="header">
<%= if page_path(@conn) === "/" do %>
# Do nothing
<% else %>
<%= render Myproject.SharedView, "menuButton.html" %>
<% end %>
</div>

但这不起作用,因为 page_path (@conn) 应该根据 Controller 操作为我们提供路线:page_path (@conn, :index)而不是浏览器请求的路线。所以我的问题是:最简单的函数是什么?

最佳答案

您可以使用Plug.Conn中的request_path :

<%= if @conn.request_path == "/" do %>

如果您想对整个 Controller 执行此操作,可以使用 Phoenix.Controller.controller_module/1 :

if Phoenix.Controller.controller_module(@conn) == MyApp.PageController do

对于您的原始代码,如果您不想执行任何操作,请使用unless:

<%= unless @conn.request_path == "/" do %>

或者颠倒你的逻辑:

<%= if @conn.request_path != "/" do %>

关于elixir - Phoenix : showing/hiding Html elements depending on the route,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33676255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com