response_with rails 4.2 for backbone中的替代方案

col*_*mer 3 api backbone.js ruby-on-rails-4.2

在轨道4.2 respond_withrespond_to已移动到responders宝石.我读过这不是最好的做法.我backbone.js用于我的应用程序.

为了渲染控制器中的所有用户我使用:

class UsersController < ApplicationController
  respond_to :json

  def index
    @users = User.all

    respond_with @users
  end
end
Run Code Online (Sandbox Code Playgroud)

有哪些替代方案?

Bar*_*cha 8

这是唯一respond_with和类级别的respond_to指示已被删除这里.您仍然可以respond_to像往常一样使用实例级别

class UsersController < ApplicationController
  def index
    @users = User.all

    respond_to do |wants|
      wants.json { render json: @users }
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

话虽如此,将响应者gem添加到您的项目并继续编写代码就像在您的示例中一样没有任何问题.将此行为提取到单独的gem中的原因是许多Rails核心成员不认为它属于主Rails API.来源.

如果您正在寻找更强大的东西,请查看返回JSON结构的模板选项主机,例如默认情况下包含在Rails 4.2中的jbuilder或者rabl.希望这可以帮助.