Rails:AJAX Datatables 按钮打开 Modal

Posted

技术标签:

【中文标题】Rails:AJAX Datatables 按钮打开 Modal【英文标题】:Rails: AJAX Datatables Button to open Modal 【发布时间】:2021-12-09 20:57:54 【问题描述】:

我正在将数据表更新为 AJAX。有操作按钮,一些重定向到其他页面,而我被卡住的那个会打开一个模式。我正在处理一个装饰器文件。

这是在没有模式按钮的情况下使用的代码:

def dt_actions
    links = []
    links << h.link_to(h.content_tag(:i, "", class: "fa fa-search") + " View", h.training_provider_client_path(context[:current_provider], object), class: "btn btn-primary btn-xs m-r-5px")

    links << h.link_to(h.content_tag(:i, "", class: "fa fa-pencil") + " Edit", h.edit_training_provider_client_path(context[:current_provider], object), class: "btn btn-default btn-xs m-l-5px")

这是 AJAX 之前的代码行,我似乎无法像上面那样格式化:

a.btn.btn-success.btn-xs.m-l-5px.clients-issue-certs-modal-link> href="#" data-toggle="modal" data-target="#choose-course-modal0" data-client-id="#client.id"
      => fa_icon 'graduation-cap', text: 'Issue Certificates'
      = fa_icon 'chevron-right'

也供参考,这是我能够转换的 AJAX 之前的两个***链接:

    = link_to training_provider_client_path(client.owner, client), class: '' do
      = fa_icon 'search', text: 'View'
    - if policy(client).edit?
      = link_to edit_training_provider_client_path(client.owner, client), class: 'btn btn-default btn-xs' do
        = fa_icon 'pencil', text: 'Edit'

任何帮助将不胜感激!

【问题讨论】:

问题是你将如何编写a.btn.btn-succes....... 代码以像links &lt;&lt; h.link_to... 中的其他代码一样添加? 嗨@arieljuod,我想是的,采用这种格式,但使用模态数据目标。 【参考方案1】:

我认为这应该可行

h.link_to(h.content_tag(:i, "", class: "graduation-cap") + " Issue Certificates" + h.content_tag(:i, "", class: "chevron-right"), "#", class: "btn btn-success btn-xs m-l-5px clients-issue-certs-modal-link", data: toggle: "modal", target: "#choose-course-modal0", "client-id" => client.id)

【讨论】:

感谢@arieljuod,该代码似乎显示了正确的链接,但现在,如果不使用 AJAX 数据表打开,模式本身似乎。我将尝试研究为什么会这样。如果您有任何建议,请告诉我。 我知道您在 AJAX 请求后显示此图标,并且模式是由引导程序之类的东西处理的,对吗?如果是这样,您可能需要在使用新内容更新 DOM 后触发与 modals 相关的引导 JS 再次感谢@arieljuod -- 缺少一个初始化器来让 JS 加载

以上是关于Rails:AJAX Datatables 按钮打开 Modal的主要内容,如果未能解决你的问题,请参考以下文章

jquery-datatables-rails。响应式扩展和移动视图

为啥我使用 Datatables 的 Rails 应用程序在我使用后退按钮时无法正确绘制表格,但在我刷新页面时却如此?

单击按钮时,如何触发 jquery datatables fnServerData 通过 AJAX 更新表?

围绕DataTable';允许在Rails应用程序中与服务器端分页同步的ajax方法

Rails 数据表选择过滤器

datatables翻页时,呼叫ajax,全选按钮还是勾选状态,怎么去掉