Ruby on rails ActiveAdmin继承的Ressource覆盖不';不能使用多个名称空间?
我使用的ActiveAdmin没有默认名称空间(Ruby on rails ActiveAdmin继承的Ressource覆盖不';不能使用多个名称空间?,ruby-on-rails,activeadmin,inherited-resources,Ruby On Rails,Activeadmin,Inherited Resources,我使用的ActiveAdmin没有默认名称空间(config.default\u namespace=false)。我有一个不带命名空间的User资源,以及:admin命名空间中的User资源。两者都使用自定义更新方法来实现不同的行为(用户可以更改自己的数据,而管理员可以重置任何用户的密码) 这是“默认”用户: 这是管理员用户: ActiveAdmin.register User, namespace: :admin do actions :all menu permit_param
config.default\u namespace=false
)。我有一个不带命名空间的User
资源,以及:admin
命名空间中的User
资源。两者都使用自定义更新方法来实现不同的行为(用户可以更改自己的数据,而管理员可以重置任何用户的密码)
这是“默认”用户:
这是管理员用户:
ActiveAdmin.register User, namespace: :admin do
actions :all
menu
permit_params ...
controller do
def create
# invitation code
...
end
def update
# password reset code
...
end
end
index do
...
end
filter ...
form partial: 'form'
end
更改用户数据可以很好地工作,也可以邀请新用户。问题是密码重置。在提交相应的表单(路由/admin/users/[id]/edit
)时,将调用非命名空间用户的更新
(与提交/users/[id]/edit
时相同),而不是在my:admin
命名空间用户资源中进行更新
这是一个bug还是我误解了什么?老实说,我被这种行为难住了,我甚至不知道如何继续调试它。问题不在于名称空间,而在于我的表单。。。
我正在为使用
语义表单,它会根据模型自动配置所有内容。由于它接收到一个用户
,表单操作将始终将数据发送到默认的用户
路由,而不是:admin
路由。手动设置url修复了问题。问题不是由于名称空间,而是因为我的表单。。。
我正在为
使用语义表单,它会根据模型自动配置所有内容。由于它接收到一个用户
,表单操作将始终将数据发送到默认的用户
路由,而不是:admin
路由。手动设置url修复了该问题
ActiveAdmin.register User, namespace: :admin do
actions :all
menu
permit_params ...
controller do
def create
# invitation code
...
end
def update
# password reset code
...
end
end
index do
...
end
filter ...
form partial: 'form'
end