链接到配置文件页面,添加到基于当前页面的URL

问题描述

使用ERB进行Ruby on Rails项目。我正在尝试将用户链接到他们的个人资料页面。例如,如果您以用户1的身份登录,请单击下拉链接,然后单击配置文件,可以将您带到site.com/users/1。

<a class="dropdown-item" href="users/<%= current_user.id %>">Profile</a

这在所有页面上都有效,但是当我移到个人资料页面时,如果我在个人资料上单击“个人资料”链接,由于某种原因,它会更改为site.com/users/users/1。 。有提示吗?

解决方法

rails方法是使用link_to。它将根据您的主机自动更新网址。

因此必须执行以下操作:

<%= link_to "Profile",user_path(current_user) %>

<%= link_to current_user.email,user_path(current_user) %>
,

最好遵循约定:

<%= link_to "Profile",user_path(current_user),class: "dropdown-item" %>

另一个选择是:

<a class="dropdown-item" href="<%= user_path(current_user) %>">Profile</a>

但是,如果您坚持自己的方式,请尝试在“ users / ”之前添加斜杠(/),如下所示:

<a class="dropdown-item" href="/users/<%= current_user.id %>">Profile</a>