true在页面加载后添加到页面的链接,因-6ren">
gpt4 book ai didi

ruby-on-rails - 用于动态添加内容的 Rails UJS

转载 作者:行者123 更新时间:2023-12-04 21:22:36 26 4
gpt4 key购买 nike

我正在使用带有原型(prototype) ujs rails.js 脚本的 Rails 3.0。

我有一些 link_to "...", :remote => true在页面加载后添加到页面的链接,因此在 rails.js 之后已将 ujs 事件附加到所有 a[data-remote]链接。

如何让 rails.js 重新扫描新链接?

rails.js 似乎由一个匿名函数组成,所以我不能直接调用它。

我能想到的唯一方法是将所有 rails.js 包装在我自己的函数中,然后当我添加新链接时,我可以在页面加载*和*时调用。

这似乎是一种合理的方法,但我犹豫不决,因为我不敢相信我是第一个遇到这个问题的人并且没有标准的方法来做到这一点......

最佳答案

当您渲染按钮、链接等时,您使用 rails 助手

= link_to "Add to basket", basket_path, :method => :post, :remote => true

因此,您在远程 View 的响应中(例如: some_view.js.erb/some_view.js.haml )如果您想要 ,则应该再次使用 rails 助手。 :远程元素。
您不需要重新扫描它们新的 DOM 元素,以便附加远程行为。

在 js View 中,您可以使用 javascript 更新/替换 DOM 中的内容
:plain
$('#some-id-selector').replaceWith("#{escape_javascript(render :partial => 'some_other_view.html.haml')}");

如果正在发送新操作,您也可以在浏览器的网络检查器中查看。

关于ruby-on-rails - 用于动态添加内容的 Rails UJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9475281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com