2012-04-24 94 views
2

我想返回一个ActiveRecord的JSON表示,但不是让JSON字符串包含模型的键列名称我希望它显示每列不同的东西。有没有办法做到这一点?这里是我的榜样线ActiveRecord as_json返回不同的列名称

record.as_json(root: false, :only => [:message, :user]) 

我基本上希望它返回的消息和用户列,但我想打电话给他们别的东西时,它得到他们。

回答

1
record.as_json(root: false, :only => [:user], :methods => [:message_html]) 

并定义该记录方法。

1

我觉得你太过于复杂了。你只需要两列,那么为什么不直接用手呢?

def some_controller 
    #... 
    json = { 
     :new_name_for_message => r.message, 
     :new_name_for_user => r.user 
    } 
    render :json => json, :status => :ok 
end 

只是构建一个两个元素哈希值并将其交给JSON渲染系统。