我试图实现一个自定义按钮,当单击该按钮时,切换表单上两个字段的可见性(密码和password_confirmation将被隐藏/显示)。
我可以在表单上显示一个操作项按钮,但是当单击它时会显示以下错误消息:
缺少模板admin / users / toggle_password, active_admin /资源/ toggle_password, active_admin /碱/ toggle_password, inherited_resources / base / toggle_password,application / toggle_password with {:locale => [:en],:formats => [:html],:variants => [], :handlers => [:erb,:builder,:raw,:ruby,:coffee,:arb]}。
我的管理员档案:
ActiveAdmin.register User do
menu parent: 'User Management'
permit_params :email, :password, :password_confirmation
index do
selectable_column
id_column
column :email
column :created_at
actions
end
form do |f|
f.inputs "Details" do
f.input :email
f.input :password
f.input :password_confirmation
end
f.actions
end
action_item :toggle_password, only: %i( show edit ) do
# Link to perform the member_action "toggle_password" defined below
link_to 'Toggle Password', action: :toggle_password
end
member_action :toggle_password do
# show/hide password field
end
end
我如何链接按钮点击事件以调用我自己的功能?
答案 0 :(得分:0)
根据您的代码,点击链接Toggle Password
即表示您正在调用操作toggle_password
。
Rails会尝试为相同的模板找到相应的模板。
您可以使用javascript切换字段。
在链接中添加id
。
action_item :toggle_password, only: %i( show edit ) do
# Link to perform the member_action "toggle_password" defined below
link_to 'Toggle Password', id: 'link', action: :toggle_password
end
在javascript中,你可以写
$('#link').click(function() {
$(<#id of password & password confirmation field>).toggle();
});