Javascript 在发生重定向之前,如何在Rails rake任务期间显示JS模式窗口?

Javascript 在发生重定向之前,如何在Rails rake任务期间显示JS模式窗口?,javascript,ruby-on-rails,ruby,twitter-bootstrap,ruby-on-rails-4,Javascript,Ruby On Rails,Ruby,Twitter Bootstrap,Ruby On Rails 4,我在我的orders.html.erb def create_next_week_orders %x(bundle exec rake create_orders_next_week) redirect_to root_path end get "create_next_week_orders" => "static_pages#create_next_week_orders" 指向静态页面控制器.rb中的此方法 def create_next_week_or

我在我的orders.html.erb

def create_next_week_orders
    %x(bundle exec rake create_orders_next_week)
    redirect_to root_path
end
get "create_next_week_orders"     => "static_pages#create_next_week_orders"

指向静态页面控制器.rb中的此方法

def create_next_week_orders
    %x(bundle exec rake create_orders_next_week)
    redirect_to root_path
end
get "create_next_week_orders"     => "static_pages#create_next_week_orders"
这里发生的情况是,当用户单击按钮时,rake任务将运行,并且在触发
重定向到
之前需要几秒钟才能完成

我真正想要的是:

  • 用户点击按钮
  • 一个JS出现,同时触发rake任务
  • 耙任务运行到完成(模式窗口仍然打开)
  • 耙任务完成→ <触发代码>重定向到
  • 我如何实现这个流程

    可以这样做吗

    def create_next_week_orders
        respond_to :js
        %x(bundle exec rake create_orders_next_week)
        respond_to :html
    end
    
    我的路线。rb

    def create_next_week_orders
        %x(bundle exec rake create_orders_next_week)
        redirect_to root_path
    end
    
    get "create_next_week_orders"     => "static_pages#create_next_week_orders"
    

    你需要这样的东西:

  • 您需要将click事件处理程序添加到将打开模式对话框的按钮中

    $(函数(){ $(“.your button”)。单击(函数(){ /*显示模态的代码*/ }) })

  • 并在按钮中将远程选项设置为true

    在你看来:

  • 然后在控制器操作中:

    def创建_下周_订单 %x(bundle exec rake下周创建订单) render:js=>“window.location('#{root_path}')” 结束