Javascript 如何将activeadmin查询字符串传递给批处理操作?
我正在使用ActiveAdmin构建一个管理UIJavascript 如何将activeadmin查询字符串传递给批处理操作?,javascript,ruby-on-rails,activeadmin,Javascript,Ruby On Rails,Activeadmin,我正在使用ActiveAdmin构建一个管理UI Ruby v2.0 Rails 4.0.13 ActiveAdmin 1.0.0pre 我正在创建一个batch_操作,该操作获取已过滤ID的列表并将其存储为一个段。除了段的名称之外,我还想存储创建该段的activeadmin查询字符串 当前页面的查询字符串似乎没有与batch_action post一起传递,因此我似乎必须添加一些Javascript来获取并传递它 我想知道是否有我忽略的解决方案,或者是否有其他人解决了这个问题?这是我今天下
- Ruby v2.0
- Rails 4.0.13
- ActiveAdmin 1.0.0pre
我想知道是否有我忽略的解决方案,或者是否有其他人解决了这个问题?这是我今天下午提出的解决方案 我添加了文件/assets/javascripts/active_admin/query_string.js,其中包含从当前页面中提取查询字符串的代码 我正在对其进行解码,但这仅取决于您要对其执行的操作:
(function (w, d, $, undefined) {
'use strict';
var admin_query_string = function() {
var href = window.location.href,
tokens = href.split('?'),
qs = '';
if (tokens.length > 1) {
qs = decodeURIComponent(tokens[1]);
}
return qs;
};
w.admin_query_string = admin_query_string;
}(window, document, jQuery));
然后我添加了文件/assets/javascripts/active_admin/testers.js。Tester是我们应用程序中的一个模型
活动的\u admin Tester资源有一个批处理\u操作:创建\u段,它采用:name、:query和:id列表,并创建一个测试程序段
仅当当前页面是活动的\u admin testers页面时,才会运行javascript:
(function () {
'use strict';
$(function() {
if ($('body.admin_testers').length) {
$("a.batch_action[data-action='create_segment']").on('click', function() {
$("input[name='query']").val(mycrowd_admin_query_string());
});
}
});
}).call(this);
这是我今天下午想出的解决办法。