ruby-on-rails - 使用不同查询响应 html 和 json 的一个 Rails 路由

标签 ruby-on-rails json angularjs

我有一个简单的 index我的 Controller 中提供 html 和 json 格式的操作。

def index
  @records = Model.all

  respond_to do |format|
    format.html
    format.json { render json: @records }
  end
end

我最近在 JSON 端点支持的 AngularJS 中重做了 HTML View 。我从日志中注意到,在为此操作加载 HTML 时,即使我已设置 AngularJS 以在加载时在 JSON 端点获取记录,查询仍在为 HTML View 进行。

我不确定处理这个问题的最佳方法。如果我只是响应 HTML,我希望能够不查询。显而易见的方法是仅在格式为 JSON 时运行查询,但我感觉这不是最好的方法。

最佳答案

你可以简单地解决这个问题

def index
  respond_to do |format|
    format.html
    format.json { 
      @records = Model.all
      render json: @records 
    }
  end
end

关于ruby-on-rails - 使用不同查询响应 html 和 json 的一个 Rails 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23592242/

相关文章:

javascript - $state.go 将/#q=hello 的 url 更改为/#/q=hello

javascript - Angular $localStorage 在浏览器关闭后保存

ruby-on-rails - 将 Rails 应用程序部署到 Heroku 时出现 "Cannot load such file"错误

java - 循环遍历 json 文件,将键值附加到列表

javascript - 需要从 json 创建 javascript 数组

javascript - 如果对象属性具有特定分隔符,如何拆分 JavaScript 数组元素

ruby-on-rails - 使用Rails-api进行基本身份验证

ruby-on-rails - Ruby on Rails : How to add additional params to button_to :back?

ruby-on-rails - 将图标添加到输入提交按钮

javascript - Ng-repeats 在一个 Controller 中显示,但在另一个 Controller 中不显示