我可以在没有帮助的情况下使用remote-> true并设置其间隔吗?
答案 0 :(得分:1)
首先:使用链接生成助手,如:
<%= link_to 'Anywhere', anywhere_path, remote: true %>
为您生成正确的HTML标记。当然你不需要助手,但是你想要使用它。 ;)
否则你会自己写这个:
<a href="<%= anywhere_path %>" data-remote="true">Anywhere</a>
答案 1 :(得分:1)
remote: true
只不过是在DOM元素中设置data
属性的方法:
<form accept-charset="UTF-8" action="/articles" class="new_article" data-remote="true" id="new_article" method="post">
...
</form>
它基本上调用Rails UJS "driver",这只不过是一种在典型应用程序设置范围之外调用标准化JavaScript功能的方法。
你可以see the UJS "ajax" driver source here
<强>集成强>
您的问题是关于您是否需要&#34;助手&#34;要使用这项技术,简短的回答是“是”&#34;。
如果您有一个提交的元素,Rails UJS驱动程序才会起作用。 JS的工作方式是&#34; bind&#34;事件到元素,然后在触发该事件时继续触发绑定函数。
在&#34;典型&#34; JS(JQuery),您将能够通过以下方式设置Ajax请求:
#app/assets/javascripts/application.js
$(document).on("click", ".your_button", function(){
$.ajax({
...
});
});
顺便说一句,Rails UJS 基本上是这样做:
$(document).on("click", "a[data-remote]", function(){
$.ajax({
....
});
});
现在,最重要的是要注意这两个实现如何绑定你的&#34; click&#34; /&#34;提交&#34;活动到ajax电话。这是Javascript的基础 - 只要您想要调用操作,就必须绑定到事件
<强>地图
关于您的问题,答案是您最好使用自己的ajax
来电,除非您有明确&#34;操作&#34;被称为。这意味着如果您想使用long-polling之类的内容,您必须自己致电ajax
。
如果您要创建表单,链接或其他要素点击或已提交的元素,您就可以调用Rails UJS remote: true
方法。