问题描述
使用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>