Rails:控制器重定向与Javascript重定向

时间:2014-08-26 10:59:55

标签: javascript jquery ruby-on-rails ajax ruby-on-rails-4

目前,我正在开发一个项目,该项目在提交时在表单上执行一些客户端验证(使用Javascript),然后基于Ajax请求,进行window.location.href重定向或将表单提交到由控制器处理。

我的问题是,处理这种情况的最佳方法是什么?表格是否应该直接提交给处理请求的控制器,或者当前的方法是更好的方法吗?

我觉得基于Ajax调用的重定向是完全没必要的,因为控制器无论如何都可以这样做。

1 个答案:

答案 0 :(得分:1)

你的直觉是对的。 window.location.href也不是HTTP意义上的重定向(例如,它可能是HTTP状态代码302),而是一个全新的请求。

作为副作用有几个好处:

  • 可通过单元测试轻松测试
  • 您可以使用来自不同位置(也作为API)的控制器逻辑
  • DRY:控制器中没有代码重复(无论如何你需要重定向)和javascript