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

Jak*_*ton 9 ruby-on-rails turbolinks

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

是否有任何简单的方法可以在Turbolinks的控制下提交表单(即避免页面刷新)

rab*_*mar 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;
});
Run Code Online (Sandbox Code Playgroud)

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

<form action="..." method="get" data-turboform>
    ...
</form>
Run Code Online (Sandbox Code Playgroud)

  • 使用"form [method = get]"使它更简单:) (7认同)

Rob*_*rty 1

在 Turbolinks 项目中,有问题#64,有人为 Rails 编写了 Coffeescript 实现。

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

$(turboforms);
Run Code Online (Sandbox Code Playgroud)

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