Ruby 在 rails 上:Button_to 检查 post 结果并更新当前页面
Ruby on rails: Button_to Check post result and update current page
在我的 UI 中,我有 table 个项目。每行都有一个收藏夹按钮。我正在使用按钮进行 rails 调用以添加数据库关联。
我一直在研究如何检查调用按钮中 post 响应的结果。
如果成功,我想禁用我页面上的收藏夹按钮,如果不成功,我什么都不想要。有没有办法检查我的呼叫按钮中的 post 响应,有没有办法留在页面上?
这是我的示例
<%= button_to create_favorite_path(res.id), class: "favorite-btn-#{res.id} btn btn-default" do%>
<i class="glyphicon glyphicon-star-empty"></i>
<% end %>
要在单击按钮时留在页面上,您需要将 remote: true
添加到按钮调用中。默认情况下,这将使您的按钮请求 AJAX 调用。
Read more about the button_to
helper here.
<%= button_to create_favorite_path(res.id), remote: true, class: "favorite-btn-#{res.id} btn btn-default" do%>
<i class="glyphicon glyphicon-star-empty"></i>
<% end %>
然后要查看此 AJAX 请求的响应,您需要编写一些 javascript.
在您的 application.js
或此页面上的任何 javascript 文件中:
$(document).on('ajax:success', 'form', function(event, data, status, xhr) {
// do something with data or status
});
在我的 UI 中,我有 table 个项目。每行都有一个收藏夹按钮。我正在使用按钮进行 rails 调用以添加数据库关联。
我一直在研究如何检查调用按钮中 post 响应的结果。
如果成功,我想禁用我页面上的收藏夹按钮,如果不成功,我什么都不想要。有没有办法检查我的呼叫按钮中的 post 响应,有没有办法留在页面上?
这是我的示例
<%= button_to create_favorite_path(res.id), class: "favorite-btn-#{res.id} btn btn-default" do%>
<i class="glyphicon glyphicon-star-empty"></i>
<% end %>
要在单击按钮时留在页面上,您需要将 remote: true
添加到按钮调用中。默认情况下,这将使您的按钮请求 AJAX 调用。
Read more about the button_to
helper here.
<%= button_to create_favorite_path(res.id), remote: true, class: "favorite-btn-#{res.id} btn btn-default" do%>
<i class="glyphicon glyphicon-star-empty"></i>
<% end %>
然后要查看此 AJAX 请求的响应,您需要编写一些 javascript.
在您的 application.js
或此页面上的任何 javascript 文件中:
$(document).on('ajax:success', 'form', function(event, data, status, xhr) {
// do something with data or status
});