在 Rails 应用程序内部链接时什么时候需要 `_path_url`?

When is `_path_url` required when linking inside a Rails application?

什么时候需要在应用程序中使用 _path_url 而不是 _path

我的理解是 _path 提供站点内部的相对路径,当 link 在不同站点之间切换时需要 _url

来源: Named routes _path vs _url

但是当link转到另一个页面时,我的应用程序出现以下错误。

错误:

undefined method `users_show_path' for #<#:0x007fe12740c3a0> Did you mean? users_show_path_url

routes.rb

get '/user/:id/show', to: 'users#show', as: :users_show_path

工作link

<%= link_to 'Return', users_show_path_url(current_user), class: 'btn btn-default'  %>

失败link

<%= link_to 'Return', users_show_path(current_user), class: 'btn btn-default'  %>

需要添加 _url 才能使其正常工作。

我以前在 Rails 开发中从未遇到过这个问题,所以我想知道是否有一些路由技术可能导致它。

这只是猜测

<%= link_to 'Return', users_show_path_path(current_user), class: 'btn btn-default'  %>

为什么需要 as: :users_show_path 使其成为 as: :users_show

然后你的代码将工作,否则你可以使用 users_show_path_path 这很有趣..