我当前的 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/