ruby-on-rails - 使用 rails 将引号添加到 json 中的 ID

标签 ruby-on-rails ruby ruby-on-rails-3 json

我当前的 json 输出是“id”:3,“name”:“test”,我需要 3 是“3”。

我将如何在 Rails 中执行此操作?

  def search
    @tags = Tag.where("name like ?", "%#{params[:q]}%")
    respond_to do |format|
      format.json { render :json => @tags.to_json(:only => [:id, :name]) }
    end
  end

最佳答案

Sergio 的解决方案会奏效。但是,如果您在多个地方执行此操作,我建议覆盖 Rails 的内置函数 as_json

在您的标签模型中:

def as_json(options={})
  options[:id] = @id.to_s
  super(options)
end

您的 Controller 方法将保持不变。这未经测试,但应该有效。

关于ruby-on-rails - 使用 rails 将引号添加到 json 中的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11193829/

相关文章:

mysql - 如何使用关系中的列注释查询?

ruby-on-rails - bundle 安装失败 : Error loading Rubygems plugin after I deleted files

ruby - 如何搜索和替换 Nokogiri 节点?

ruby-on-rails - 如何在 Rails 中使用 becomes

ruby-on-rails - NameError 主常量名称错误 — 但 `primary` 不存在?

ruby-on-rails - ruby 应用程序中的安全性 : Role defined can be misused via url edit and changes.

file-upload - 导轨 3 : Fileupload without generating tempfile

ruby-on-rails - Rails——使用没有 STI 的类型列?

ruby-on-rails - Rails Geocoder near 方法将结果限制为 100

ruby - 如何使用 ruby​​ 的 net/imap 库读取电子邮件的正文?