Rails 5 正在添加一个“.”到 link_to 路径而不是“/”

Rails 5 is adding a "." to a link_to path instead of a "/"

我正在尝试 Rails 5 并且遇到了一些奇怪的事情。我用谷歌搜索过的所有地方都说我的代码是正确的。不确定我做错了什么。

我的查看代码:

<% provide(:title, "View all Users") %>

<% @users = User.all %>

<ul>
  <% @users.each do |user| %>
    <% @user = user %>
    <li><%= link_to user.name, users_path(@user) %><%= user.name %></li>
  <% end %>
</ul>

吐出来html:

<a href="/users.3">boop boop</a>

请注意路径使用的是点而不是正斜杠。

有人知道为什么吗?

我认为问题出在 users_path(@user)。你那里有一个额外的 s,尝试 user_path(@user) 或者更好地尝试 @user

我会把那行写成 <li><%= link_to user.name, @user %><%= user.name %></li>

Rails 足够聪明,可以理解链接 object 意味着您想转到 object

show 页面