如何使用Turbolinks使用method =“get”提交表单

时间:2013-07-17 02:42:58

标签: ruby-on-rails turbolinks

我的页面上有一个搜索表单,并且启用Turbolinks是安全的,因为它使用method =“get”

有没有简单的方法让表格在Turbolinks的控制下提交(即避免页面刷新)

2 个答案:

答案 0 :(得分:24)

您可以在application.js

中使用类似的内容
// send get forms through turbolinks
$(document).on("submit", "form[data-turboform]", function(e) {
    Turbolinks.visit(this.action+(this.action.indexOf('?') == -1 ? '?' : '&')+$(this).serialize());
    return false;
});

然后,要使用turbolinks发送任何表单,您需要将data-turboform属性添加到表单中,如下所示:

<form action="..." method="get" data-turboform>
    ...
</form>

答案 1 :(得分:1)

在turbolinks项目中,有issue #64,有人为Rails编写了Coffeescript实现。

添加该链接提供的代码。 它添加了一个turboforms函数,需要在页面就绪时调用,如下所示:

$(turboforms);

我正在实施这个,如果我发现其他有用的东西,我会更新我的答案。