在phoenix webframework中如何在路径助手中使用片段标识符?

时间:2018-08-15 20:50:35

标签: elixir phoenix-framework fragment-identifier

是否可以将片段标识符添加到路径助手?

我尝试从登录页面链接回登录页面的“关于”部分。

<a href="localhost:4000/#about">ABOUT</a>

使用此路径帮助程序,我只会回到登录页面:

<li><a href="<%= page_path(@conn, :index) %>">ABOUT</a></li>

但是我想通过以下路径进入about部分:

localhost:4000/#about

我试图结合路径,但没有成功:

<li><a href="<%= page_path(@conn, :index) <> "#about" %>">ABOUT</a></li>

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

一个人不能嵌套双引号:

<a href="<%= page_path(@conn, :index) <> "#about" %>"

以上内容显然会导致错误,因为它的读取内容如下所示,字符串表示为:

#       ⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓      ⇓⇓⇓⇓⇓
<a href="<%= page_path(@conn, :index) <> "#about" %>"

要制作成功,请使用~s标记:

<a href=~s|<%= page_path(@conn, :index) <> "/#about" %>|

答案 1 :(得分:0)

您只需将#about字符串移出插值表达式即可:

<li><a href="<%= page_path(@conn, :index) %>#about">ABOUT</a></li>