Ruby on rails activeadmin操作的自定义路由?
我正在用activeadmin创建一个页面来更新当前用户的密码。我有一个非持久化模型来检查密码验证等。我的问题是当我尝试时Ruby on rails activeadmin操作的自定义路由?,ruby-on-rails,activeadmin,Ruby On Rails,Activeadmin,我正在用activeadmin创建一个页面来更新当前用户的密码。我有一个非持久化模型来检查密码验证等。我的问题是当我尝试时 ActiveAdmin.register UpdatePassword do actions :edit, :update end 它创建路由/update_passwords/:id和/update_passwords/:id/edit 我想通过get和put将这些路由更改为/更新_密码 有什么方法可以改变这一点吗?我找不到使用activeadmin的方法,但手
ActiveAdmin.register UpdatePassword do
actions :edit, :update
end
它创建路由/update_passwords/:id和/update_passwords/:id/edit
我想通过get和put将这些路由更改为/更新_密码
有什么方法可以改变这一点吗?我找不到使用activeadmin的方法,但手动定义路由是可行的:
#config/routes.rb
match "/admin/update_passwords" => 'admin/update_passwords#edit', via: :get, as: "admin_update_passwords"
match "/admin/update_passwords" => 'admin/update_passwords#update', via: :post
在我看来,控制器名称UpdatePassword令人困惑 路径最终类似于:
edit_admin_update_passwords_path
update_admin_update_passwords_path
我认为这样会更好:
ActiveAdmin.register Password do
actions :edit, :update
end
或
虽然这个问题已经存在了2年左右,但是您可以使用
collection\u action
或member\u action
实现路由以及定制方法 文档没有说明如何在显示页面上设置约束。比方说,通常情况下,资源是通过id查看的。现在,我希望能够通过他的电子邮件查看,所以我需要施加更多约束。如何做到这一点?
ActiveAdmin.register User do
actions :edit, :update
end