Ruby on rails rails ajax调用是否应该捆绑到它们自己的单独控制器中?

Ruby on rails rails ajax调用是否应该捆绑到它们自己的单独控制器中?,ruby-on-rails,ajax,rest,routing,choice,Ruby On Rails,Ajax,Rest,Routing,Choice,非RESTful的AJAX调用应该是: 放入最适合其功能/视图的控制器,或 捆绑在一起成为自己单独的“Ajax”控制器 我一直在做1,但我刚刚读了这篇(2725 diggs)文章 (见第9点) 本章选择方法2。但他是一名PHP开发人员 一个好处是,2可以通过执行类似“ajax/:action”的操作来清理路由,而不是向restful路由添加成员 它看起来像一个6.5分的,半个面包师的其他类型的东西 你选择哪种方法?我更喜欢第一种方法: 它在语义上是一致的。如果Ajax操作涉及到资源XXX,那么您

非RESTful的AJAX调用应该是:

  • 放入最适合其功能/视图的控制器,或
  • 捆绑在一起成为自己单独的“Ajax”控制器
  • 我一直在做1,但我刚刚读了这篇(2725 diggs)文章
    (见第9点)
    本章选择方法2。但他是一名PHP开发人员

    一个好处是,2可以通过执行类似“ajax/:action”的操作来清理路由,而不是向restful路由添加成员

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


    你选择哪种方法?

    我更喜欢第一种方法:

  • 它在语义上是一致的。如果Ajax操作涉及到资源XXX,那么您(和其他程序员)将知道在应用程序中的何处可以找到东西,这要感谢Rails的约定
  • 如果您的应用程序大量使用Ajax(现在大多数都使用Ajax),那么最终会出现一个庞大的AjaxController,它否定了整个RESTful功能。其余的控制器将只是提供优雅的非javascript CRUD降级操作
  • 类似地,测试Ajax控制器往往会有点混乱,因为您必须为应用程序的每个“ajaxified”资源设置场景——加载装置、模拟等

  • 您的“RESTful”控制器可能包括
    new
    edit
    操作,它们实际上都不是RESTful的,它们只是为
    create
    update
    REST操作提供用户界面
    new
    edit
    不要获得单独的非研究控制器或其他东西,它们保存在相关资源的控制器中,保持控制器的语义一致。类似地,与特定功能集或特定资源相关的Ajax操作应保留在关联的控制器中。

    感谢您的回复。你回应了我的观点,他们应该在自己的控制器里。big digg先生应该改变他的方式!;)REST与新建/编辑或创建/更新无关。我不确定你的观点是什么,这正是我的观点。它们实际上与REST没有任何关系,但它们被保存在所谓的RESTful控制器中,与它们相关联的资源一起使用,以保持简单。我想说的是,对Ajax操作执行相同的操作并没有太大的不同。