ruby-on-rails - 目录 : Filter generated JSON to certain parameters

标签 ruby-on-rails ruby json

我按如下方式生成 JSON:

def suggest_gems
  @allgems = RubyGem.where("name like ?", "%#{params[:q]}%")
  respond_to do |format|
  format.json { render :json => @allgems.to_json }
  end
end 

但是,RubyGem 表非常大,包含描述、链接和创建、更新的值。如何在生成的 JSON 中只输出名称和 ID 以减少加载时间? 谢谢。

最佳答案

你真的可以在那里清理你的 Controller 方法并像这样实现你想要的:

def suggest_gems
  @allgems = RubyGem.where("name like ?", "%#{params[:q]}%")
  respond_with(@allgems, :only => [:id, :name])
end 

如果你在 Controller 的顶部有这个:

respond_to :json

编辑

如果你不想使用respond_to,那么这样做:

def suggest_gems
  @allgems = RubyGem.where("name like ?", "%#{params[:q]}%")
  render :json => @allgems.as_json(:only => [:id, :name])
end 

关于ruby-on-rails - 目录 : Filter generated JSON to certain parameters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13976459/

相关文章:

ruby-on-rails - 捆绑安装:G​​em::RemoteFetcher::FetchError: SSL:...证书验证失败

ruby-on-rails - 如何运行 ruby​​ 文件?

html - 如何在不丢失 HTML 实体的情况下使用 nokogiri 解析 XML?

ruby-on-rails - 将录像带存储在存储库中是否正确?

javascript - Angular-Jasmine,加载 json

java - 实现 toString() 时使用反射有意义吗?

ruby-on-rails - 使用载波共享对象中的图像

mysql - Rails activerecord 查询在 sqlite 中工作,而不是在 MySql 中工作

ruby - Xpath:所有节点直到一个节点(Wikiquote.org)

Java 循环遍历 JSON 数组并编辑值