我正在使用activeadmin创建一个页面来更新当前用户的密码。我有一个非持久模型来检查密码等的验证。我的问题是当我尝试
时ActiveAdmin.register UpdatePassword do
actions :edit, :update
end
它创建routes / update_passwords /:id和/ update_passwords /:id / edit。
我想通过get和put将这些路由更改为/ update_passwords。
有没有办法改变它?
答案 0 :(得分:11)
我找不到使用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
答案 1 :(得分:3)
虽然问题大约是2年,但您可以使用collection_action
或member_action
来实现路由以及自定义方法。 Refer this
答案 2 :(得分:0)
在我看来,控制器名称UpdatePassword令人困惑。
这些路径最终会像:
edit_admin_update_passwords_path
update_admin_update_passwords_path
我认为这会更好:
ActiveAdmin.register Password do
actions :edit, :update
end
或
ActiveAdmin.register User do
actions :edit, :update
end