Ruby on rails 从ajax请求访问Rails模型字段
我们知道,如果我们有这样一个模型:Ruby on rails 从ajax请求访问Rails模型字段,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我们知道,如果我们有这样一个模型: class TMem < ActiveRecord::Base def expense return 'OK' end end 但如果操作返回json: render json: TMem.find(1) 我无法从ajax请求中获取expense字段。这表明,响应json不包含该字段 因此,我想知道如何查询模型,以便从ajax请求中获取此字段。您需要使用自定义方法在模型中覆盖到\u json 像这样改变你的模型 class
class TMem < ActiveRecord::Base
def expense
return 'OK'
end
end
但如果操作返回json:
render json: TMem.find(1)
我无法从ajax请求中获取expense
字段。这表明,响应json不包含该字段
因此,我想知道如何查询模型,以便从ajax请求中获取此字段。您需要使用自定义方法在模型中覆盖
到\u json
像这样改变你的模型
class TMem < ActiveRecord::Base
def expense
return 'OK'
end
def to_json(options={})
options[:methods] ||= [:expense]
super(options)
end
end
我找到了答案,只需
呈现json:TMem.find(1).to_json(:methods=>:expense)
class TMem < ActiveRecord::Base
def expense
return 'OK'
end
def to_json(options={})
options[:methods] ||= [:expense]
super(options)
end
end
TMem.first.to_json #=> "{\"t_mem\":{\"id\":1,\"expense\":"OK\"}}"