Ruby on rails 如何为多个控制器导轨路由方法6
我的路线上有这个Ruby on rails 如何为多个控制器导轨路由方法6,ruby-on-rails,ruby-on-rails-5,rails-routing,Ruby On Rails,Ruby On Rails 5,Rails Routing,我的路线上有这个 get "invoices/log_out" => "users#logout", :as => "log_out" 这似乎只适用于localhost:3000/发票/新建/注销 当我在localhost:3000/invoices点击注销时,我出现以下错误 No route matches [GET] "/log_out" 所以我想让它在我的控制器都是5的情况下工作 类似于获取
get "invoices/log_out" => "users#logout", :as => "log_out"
这似乎只适用于localhost:3000/发票/新建/注销
当我在localhost:3000/invoices
点击注销时,我出现以下错误
No route matches [GET] "/log_out"
所以我想让它在我的控制器都是5的情况下工作
类似于获取“所有控制器/注销”=>“用户注销”,:as=>“注销”
看看你的路线:
get "invoices/log_out" => "users#logout", :as => "log_out"
当有人点击localhost::3000/invoices/log\u out
时,它会将请求路由到users控制器上的logout
方法。将路径部分更改为“所有控制器/注销”
不会改变应用程序的任何行为,只会更改路径的文本。这对您的问题并不重要,但由于注销是一个单一的全局操作,您最好只使用'/log\u out'
作为保持简单的路由路径
您没有包含视图代码的任何片段,但您的问题几乎肯定在于如何指定指向
的链接。路由的:as=>“注销”
部分定义了路由的别名。Rails使用别名(log\u path
和log\u URL
)自动创建URL帮助程序,您可以在视图和控制器中使用该别名链接到该操作:
<%= link_to "Logout", log_out_path %>
使用URL帮助程序可确保您的代码使用正确的路由,即使您以后在查看您的路由时更改了routes.rb
中的实际路径:
get "invoices/log_out" => "users#logout", :as => "log_out"
当有人点击localhost::3000/invoices/log\u out
时,它会将请求路由到users控制器上的logout
方法。将路径部分更改为“所有控制器/注销”
不会改变应用程序的任何行为,只会更改路径的文本。这对您的问题并不重要,但由于注销是一个单一的全局操作,您最好只使用'/log\u out'
作为保持简单的路由路径
您没有包含视图代码的任何片段,但您的问题几乎肯定在于如何指定指向
的链接。路由的:as=>“注销”
部分定义了路由的别名。Rails使用别名(log\u path
和log\u URL
)自动创建URL帮助程序,您可以在视图和控制器中使用该别名链接到该操作:
<%= link_to "Logout", log_out_path %>
使用URL帮助程序可确保您的代码使用正确的路由,即使您稍后在路由中更改了实际路径。rb
请不要编辑问题本身的答案,有人花时间帮助您,将阅读他/她的答案的可能性留给其他人,如果这也适合他们,则向上投票。请不要编辑问题本身的答案,有人花时间帮助你,将阅读他/她的答案的可能性留给其他人,如果这也适合他们,则向上投票。