在数据库更新后,如何使Rails使用Ajax更新HTML表行?

迈克尔·杜兰特

我有一个包含多行的目录。
对于任何给定的行,我希望能够验证记录并通过将“验证链接”超链接更改为纯文本“已验证”而立即在屏幕上反映出来。
对于其他人来说,这似乎是一种相当普遍的模式。

我有以下标记:

...# (table stuff).
 = link_to 'verify', verify_link_path(:id => link.id),  class: 'verify', remote: true

这成功调用了链接控制器的“ verify_link”方法:

def verify_link
  @link = Link.find(params[:id])
  # Ignore additional verify logic for now, just set as verified (when the user clicks verify).
  @link.verified_date = Time.now
  @link.save!
  respond_to do |format|
    format.js
  end 
end

我知道这行得通...因为数据库已更新。

最后,我想更新页面(table-row-cell)以反映这一点。这就是我被困住的地方。

控制器方法成功调用以下app/views/links/verify_links.js.erb文件:

$(function() {
$(".verify")
  .bind("ajax:success",function(event,data,status,xhr) {
    this.text='verified';
    alert("The link was verified.");
  });
});

我知道它会被调用...因为我可以放在alert("hello world");开始位置,并且它会显示为弹出窗口。

无效的部分是用纯文本“ verified”替换“ verify”链接。实际上,我什alert不能在那里工作。用户界面中没有任何更新。但是,在后端对数据库进行了更改,因此,如果刷新页面,我确实会看到更改反映在该点上。

笔记:

  • 存在多个链接是否存在问题?即我应该使用一个ID,我必须从表行ID或数字中扣除
  • 应用程序版本是带有资产管道的Rails 3.2.17。
  • 该应用程序最初是用Rails 2编写的,后来进行了升级。
  • 我正在使用jquery 1.7.2和rails.js,但最初要避免使用诸如angular,ember等框架,因为我想首先学习更多有关底层的知识。一旦完成,我将使用一个框架。
曼迪普

@hjing是正确的。app / views / links / verify_links.js.erb中的代码已经是对ajax的响应。您无需将其绑定到ajax:success。

如您建议的那样,您需要为每个链接创建一个ID,您必须从表格的行ID或数字中找出该链接。例如,您的链接将如下所示:

= link_to 'verify', verify_link_path(:id => link.id),  class: 'verify', id: "verify_#{table_row_no}", remote: true 

然后在您的app / views / links / verify_links.js.erb中,您可以定位该特定链接,如下所示:

$("#<%= j 'verify_#{table_row_no}' %>").text("verified");
$("#<%= j 'verify_#{table_row_no}' %>").prop("href","#"); #you would also want to change the href in case someone clicks it again

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在数据库更新后,如何使Rails使用Ajax更新HTML表行?

来自分类Dev

如何使用ajax更新数据库中的记录并在单击按钮时删除表行?

来自分类Dev

在数据库表中,如何在选择查询后更新查询?

来自分类Dev

在Rails中使用Ajax请求更新数据库

来自分类Dev

使用ajax更新Mysql数据库表

来自分类Dev

使用ajax调用更新数据库表

来自分类Dev

在更改时使用 AJAX 更新数据库表

来自分类Dev

Android-在数据库更新后保留数据

来自分类Dev

我如何使用AJAX在用户输入文本后更新我的数据库?

来自分类Dev

使用AJAX以全日历方式克隆事件后如何更新数据库

来自分类Dev

Ajax仅在数据库表更新或更改时刷新

来自分类Dev

如何在数据库更新后立即有效地从数据库获取数据?

来自分类Dev

在数据库中删除行后更新DbSet.Local

来自分类Dev

交易后如何更新数据库?

来自分类Dev

数据库触发器在子表更新后更新父表上的行

来自分类Dev

在数据库中删除或插入后如何触发 Jtable 更新?

来自分类Dev

如何使用整个html表(PHP,MySQL)更新数据库

来自分类Dev

使用AJAX表单更新数据库

来自分类Dev

使用变量更新数据库表

来自分类Dev

使用循环更新数据库表

来自分类Dev

行不会在数据库中更新

来自分类Dev

使用2个单独的按钮在数据库表中进行条件更新

来自分类Dev

如何使用foreach循环更新数据库中的行?

来自分类Dev

使用jQuery在数据库中删除项目后删除表行

来自分类Dev

使用jQuery在数据库中删除项目后删除表行

来自分类Dev

更新数据库后如何更新ListView?

来自分类Dev

如何使用nodejs在数据库中插入和更新现有数据?

来自分类Dev

更新sql行使用Python在数据库中添加新行

来自分类Dev

更新sql行使用Python在数据库中添加新行

Related 相关文章

  1. 1

    在数据库更新后,如何使Rails使用Ajax更新HTML表行?

  2. 2

    如何使用ajax更新数据库中的记录并在单击按钮时删除表行?

  3. 3

    在数据库表中,如何在选择查询后更新查询?

  4. 4

    在Rails中使用Ajax请求更新数据库

  5. 5

    使用ajax更新Mysql数据库表

  6. 6

    使用ajax调用更新数据库表

  7. 7

    在更改时使用 AJAX 更新数据库表

  8. 8

    Android-在数据库更新后保留数据

  9. 9

    我如何使用AJAX在用户输入文本后更新我的数据库?

  10. 10

    使用AJAX以全日历方式克隆事件后如何更新数据库

  11. 11

    Ajax仅在数据库表更新或更改时刷新

  12. 12

    如何在数据库更新后立即有效地从数据库获取数据?

  13. 13

    在数据库中删除行后更新DbSet.Local

  14. 14

    交易后如何更新数据库?

  15. 15

    数据库触发器在子表更新后更新父表上的行

  16. 16

    在数据库中删除或插入后如何触发 Jtable 更新?

  17. 17

    如何使用整个html表(PHP,MySQL)更新数据库

  18. 18

    使用AJAX表单更新数据库

  19. 19

    使用变量更新数据库表

  20. 20

    使用循环更新数据库表

  21. 21

    行不会在数据库中更新

  22. 22

    使用2个单独的按钮在数据库表中进行条件更新

  23. 23

    如何使用foreach循环更新数据库中的行?

  24. 24

    使用jQuery在数据库中删除项目后删除表行

  25. 25

    使用jQuery在数据库中删除项目后删除表行

  26. 26

    更新数据库后如何更新ListView?

  27. 27

    如何使用nodejs在数据库中插入和更新现有数据?

  28. 28

    更新sql行使用Python在数据库中添加新行

  29. 29

    更新sql行使用Python在数据库中添加新行

热门标签

归档