在 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 这很有趣..
什么时候需要在应用程序中使用 _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 这很有趣..