嗨,我正在使用Rails管理员,我需要在某些模型上打开任意模态窗体.为了简单起见,我希望有一个链接,一旦点击打开一个模态形式.
我只是在触发模态形式的链接上设置了什么类和“data- *”属性,但看起来更复杂.
我该如何实现这一目标?我一直在浏览gem中的部分视图和
javascript,试图了解如何在一对多关系中实现此功能,但代码有点超出我的知识,我无法完成.
谢谢 最佳答案 尽管Rails Admin remoteForm小部件是为了在表单中工作而构建的,但您可以在其他地方使用它:
在您的视图中,在div内部,在数据链接属性中插入带有RA内部链接的按钮,例如:
<div id="new-payment">
<a href="#" data-link="<%= new_path(:payment, associations: {client: client.id}, modal: true) %>" class="create btn btn-info">
New Payment
</a>
</div>
请注意,该链接具有modal = true属性.外部div#new-payment是将应用窗口小部件的DOM对象.
另一个重要的提示是,在新寄存器的情况下,按钮必须具有create类,或者在更新现有寄存器时更新.
现在,您可以在javascript中调用remoteForm小部件(即/app/assets/javascripts/rails_admin/custom/ui.js):
$(document).on('rails_admin.dom_ready', function() {
$('#new-payment').remoteForm({
success: function(data, status, xhr) {
$.pjax.reload({container:"[data-pjax-container]"});
}
});
});
在这种情况下,我正在利用pjax,并设置一个“成功”回调,即在创建付款后调用,以重新加载页面的内容.