rails ajax调用是否应捆绑到自己独立的控制器中?

Jo *_*o P 4 ajax rest routing ruby-on-rails choice

如果AJAX调用不是RESTful:

  1. 放入最符合其功能/视图的控制器,或
  2. 捆绑在一起成为他们自己独立的'Ajax'控制器?

我一直在做1,但我刚读这个(2725分饰)的文章
http://zygote.egg-co.com/10-dirty-little-web-development-tricks/(见9点)
,这chap选择方法2.但他是PHP开发人员.

一个好处可能是2可以通过执行类似'ajax /:action'而不是将成员添加到restful路由来清理路由.

它看起来像一个6.5,一个半面包师的十几个其他类型的东西.

你选择哪个选项?

小智 8

我更喜欢第一种方法:

  1. 它在语义上是一致的.如果Ajax操作涉及资源XXX,那么由于Rails约定,您(以及其他编码人员)将知道在您的应用程序中查找内容的位置.
  2. 如果您的应用程序对Ajax很重(现在大多数都是),那么最终将会出现一个庞大的AjaxController,它会否定整个RESTful的东西.其余的控制器将只是为了提供优雅降级的非JavaScript CRUD操作.
  3. 同样,测试你的Ajax控制器往往会有些混乱,因为你必须为应用程序的每个"ajaxified"资源设置场景 - 加载灯具,模拟等.