什么'远程:true'在rails form_for / link_to中做了什么?

时间:2016-01-20 02:04:47

标签: ruby-on-rails ajax

在rails form_for / link_to中,'remote:true'做了什么?在哪种情况下我可以使用它?

3 个答案:

答案 0 :(得分:1)

这会在您的表单中添加一部分data-remote="true",这将导致表单由Ajax而不是浏览器的正常提交机制提交。

答案 1 :(得分:1)

检查Rails documentation

  

:remote - 如果设置为true,将允许Unobtrusive JavaScript驱动程序控制提交行为。默认情况下,此行为是ajax提交。

这句话已经回答了你问题的前半部分。谷歌进一步搜索Unobtrusive Javascript给你,除其他外,

所有这些都将详细解释UJS的原因和原因。

最后,Google搜索Rails和Unobtrusive Javascript会为您提供the library Rails uses及其documentation,以便您可以准确查看发生的情况。

答案 2 :(得分:1)

它是Rails UJS(Rails不显眼的javascript)remote钩子的绑定。

当您在remotelink_tobutton_to上加载form时,它基本上会创建一个“ajax”链接:

<%= link_to   "Text", your_path, remote: true %>
<%= button_to "Text", your_path, remote: true %>
<%= form_tag your_path, remote: true do |f| %>
   ...
<% end %>

以上显示了您如何使用它。

它本质上是一种向后端发送“ajax”请求的方式(这样您就可以在不刷新的情况下更改页面)。有good Railscast about it here