Rails控制器操作上的模态弹出窗口

时间:2016-03-01 09:46:42

标签: ruby-on-rails bootstrap-modal

在我的客户索引视图中,如果单击“删除客户”按钮,则会在我的客户控制器删除方法中执行以下操作。

Customers_controller.rb

类CustomersController< ApplicationController的 。

"data:{\"UserID\":105,\"Date\":\"2016-03-11T04:20:24.1854996+02:00\"}\n\n"

基于我的条件,如果它的真实意味着客户无法被删除,并且该消息将显示在客户索引页面本身的模态弹出窗口中,如何实现呢?

1 个答案:

答案 0 :(得分:0)

我建议您在单击按钮时发出 ajax 请求,并将其重定向到您的销毁操作。然后,在控制器中执行您的逻辑并简单地返回true / false(或您需要的任何其他内容)并在JS回调中使用它。

例如:

在你的view.js

$(document).ready(function(){
  $("#delete_button").click(function(e){
      e.preventDefault();
    $.ajax({
      type: "POST",
      url: "/URL/TO/CONTROLLER",
      data: { id: someID},
      success: function(result){
        if(result == true) {
          // Do something
        } else {
          window.location.replace(result);
        }
    }});
  });
});

在您的控制器中:

def destroy
    if Customerarticle.where(author_id: params[:id]).count > 0
      return true
    else
      Customer.find(params[:id]).destroy
      flash[:success] = "Customer deleted"
      return customers_path
    end
end

这应该可以正常工作。请记住,它肯定需要一些重新工作和调整:)