我有两个按钮,一个值为true,另一个值为false;
我想要的是点击访问我的application_controller中的方法(因为我现在已经拥有它),这是保存(在redis中)单击按钮的值,并导航到同一页面(但不是刷新,因为我正在使用turbolinks,我不想再加载所有内容。)
我该如何做这样的事情,我可以创建一个动作并使用按钮的post request
制作value
,然后使用turbolinks访问某个位置。但这是最好的方式,还是有更好的方法?
答案 0 :(得分:1)
基本上,如果您使用内置于不显眼的javascript驱动程序的Rails,您可以创建一个按钮,链接或表单,通过添加remote:true
选项异步发送数据。
<%= button_to "Do Something", do_some_thing_path, id: 'do_something' remote: true %>
这要求您拥有:
然后您可以通过以下方式收听事件:
jQuery(function(){
$('#do_something').on('ajax:success', function(e, data, status, xhr){
// @todo handle success.
}).on('ajax:failure', function(e, data, status, xhr){
// @todo handle failure.
});
});
我建议您阅读Rails指南Working with JavaScript in Rails文章了解详情。