首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >主动管理:通过点击action_item链接触发模式窗口

主动管理:通过点击action_item链接触发模式窗口
EN

Stack Overflow用户
提问于 2016-03-24 02:00:45
回答 2查看 8.6K关注 0票数 4

我在我的管理页面上有这个action_item:

代码语言:javascript
复制
action_item :only => :index do
    link_to I18n.t('admin.dem_ref_nvl_etb'), :action => 'whatever'
  end

我想知道如何通过单击上面的链接来显示弹出窗口,就像batch_action使用带有“表单”选项的弹出窗口一样(这里我不需要这样的操作,它只是一个基本的链接)。

有什么提示吗?

非常感谢您的阅读和帮助!

EN

回答 2

Stack Overflow用户

发布于 2016-08-25 22:35:00

在Hugues的回答的基础上,这里有一个更丰富的例子,我用我微不足道的javascript技能拼凑起来的:

app/assets/javascripts/active_admin.js

代码语言:javascript
复制
//= 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_actionimplemented的方式拼凑起来的。

票数 9
EN

Stack Overflow用户

发布于 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控制台中复制粘贴来检查效果。

代码语言:javascript
复制
ActiveAdmin.modal_dialog("Send email to: ", {emails: 'text'}, function(inputs) {alert (inputs.emails)})

只要你的Javascript技能不错,你就应该走在正轨上。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36185465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档