gpt4 book ai didi

ruby-on-rails - Rails 路由到错误的 Controller 操作

转载 作者:行者123 更新时间:2023-12-05 06:46:36 25 4
gpt4 key购买 nike

这里是'rake routes'的输出

$ rake routes
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PUT /users/password(.:format) devise/passwords#update
cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel
user_registration POST /users(.:format) devise/registrations#create
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
edit_user_registration GET /users/edit(.:format) devise/registrations#edit
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
admin_root /admin(.:format) admin/dashboard#index
admin_dashboard /admin/dashboard(.:format) admin/dashboard#index
admin_user PUT /admin/users/:id(.:format) admin/users#update
batch_action_admin_users POST /admin/users/batch_action(.:format) admin/users#batch_action
admin_users GET /admin/users(.:format) admin/users#index
POST /admin/users(.:format) admin/users#create
new_admin_user GET /admin/users/new(.:format) admin/users#new
edit_admin_user GET /admin/users/:id/edit(.:format) admin/users#edit
GET /admin/users/:id(.:format) admin/users#show
PUT /admin/users/:id(.:format) admin/users#update
DELETE /admin/users/:id(.:format) admin/users#destroy
root / home#index

这是日志的摘录

Started POST "/admin/users/batch_action" for 127.0.0.1 at 2013-01-18 23:07:07 +0530
Processing by Admin::UsersController#create as HTML

当路由显示时,为什么 /admin/users/batch_action 被路由到 Admin::UsersController#createbatch_action_admin_users POST/admin/users/batch_action(.:format) admin/users#batch_action

我正在使用 ActiveAdmin,这些是它生成的路由。

最佳答案

看起来您正在使用 resources 来路由管理员/用户 Controller ,因此 POST http 动词默认为 Controller 中的 create 操作。

如果你想添加另一个 restful POST Controller Action ,做这样的事情,

scope "admin" do
resources :users do
member do
post 'batch_action'
end
end
end

我不知道你的 routes.rb 是什么样子,所以它在你的 routes.rb 文件中看起来可能不同。但它看起来应该相似。

关于ruby-on-rails - Rails 路由到错误的 Controller 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14404617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com