仅限rails as_json:渲染不起作用

时间:2012-02-02 01:06:16

标签: ruby-on-rails json

我有以下内容,我不确定为什么它不起作用。它输出整个位置对象。

def test
  @l=Location.find(12)
  render :json => @l.as_json(only: [:id, :name])
end

如何仅限制ID和名称?我不想使用respond_to或respond_with阻止。

THX

2 个答案:

答案 0 :(得分:2)

这有用吗?

render json: { location: { id: @l.id, name: @l.name } }

我想编辑我的答案。我认为这是正确的做法。

render json: @l.to_json(only: [:id, :name])

答案 1 :(得分:0)

你可以像这样使用ActiveRecord :: Base的to_json方法

render :json => @l.to_json(:only => [:id, :name])