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

Ruby on rails Rails控制器操作上的模态弹出窗口,ruby-on-rails,bootstrap-modal,Ruby On Rails,Bootstrap Modal,在“我的客户索引”视图中,如果单击“删除客户”按钮,则在“我的客户”控制器的“删除”方法中会执行以下操作 客户\u控制器.rb 类CustomersController

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

客户\u控制器.rb

类CustomersController 因此,根据我的情况,如果这是真的,意味着客户不能被删除,并且该消息将显示在客户索引页上的模式弹出窗口中,如何实现它?

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

例如:

在your 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
这应该很好用。记住,它肯定需要一些重新工作和调整:)

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