我在我的管理页面上有这个action_item:
action_item :only => :index do
link_to I18n.t('admin.dem_ref_nvl_etb'), :action => 'whatever'
end我想知道如何通过单击上面的链接来显示弹出窗口,就像batch_action使用带有“表单”选项的弹出窗口一样(这里我不需要这样的操作,它只是一个基本的链接)。
有什么提示吗?
非常感谢您的阅读和帮助!
发布于 2016-08-25 22:35:00
在Hugues的回答的基础上,这里有一个更丰富的例子,我用我微不足道的javascript技能拼凑起来的:
在app/assets/javascripts/active_admin.js中
//= require active_admin/base
$(document).on('ready page:load turbolinks:load', function() {
$('a.lextest').click(function(e) {
e.stopPropagation(); // prevent Rails UJS click event
e.preventDefault();
ActiveAdmin.modal_dialog("Send email to: ", {emails: 'text'}, function(inputs) {alert (inputs.emails)})
})
})注意,我没有使用默认的active_admin.js.coffee,因为我不喜欢coffeescript --这只是我个人的喜好。此代码向具有lextest类的所有链接添加onClick事件处理程序。现在,您可以使用link_to创建这样一个链接:
link_to('Modal', '#', class: 'lextest')
这一切都是我从batch_action是implemented的方式拼凑起来的。
发布于 2016-05-06 22:24:47
我找到你对你问题的答案了。我不会深入讨论太多细节,因为我想你知道你的Javascript,但这可以进一步扩展。
ActiveAdmin附带了一个模式对话javascript库。这是相当粗糙的,但可以完成工作。您可以在此文档页面上阅读有关其存在的信息:批处理操作窗体部分末尾的3/4向下的http://activeadmin.info/docs/9-batch-actions.html。有关确切代码,请查看github:https://github.com/activeadmin/activeadmin/blob/master/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee
这是一个非常基本的例子,你可以在javascript控制台中复制粘贴来检查效果。
ActiveAdmin.modal_dialog("Send email to: ", {emails: 'text'}, function(inputs) {alert (inputs.emails)})只要你的Javascript技能不错,你就应该走在正轨上。
https://stackoverflow.com/questions/36185465
复制相似问题