我想用两种不同的方式让我的json呈现。现在我有as_json方法重写来显示JSON形式这样一个完整的对象:两种不同的as_json方法
{
prop1: stuff,
prop2: stuff,
innerthings: {
{
prop1:stuff,
prop2:stuff
}
{
prop1:stuff,
prop2:stuff
}
}
}
而且as_json样子:
#Renders json
def as_json(options={})
super(
:except => [:created_at, :updated_at],
:include => [{:innerthings = > {
:except => [:created_at, :updated_at]
}}]
)
end
我也想有第二个选择渲染是这样的:当下面的代码是用来
{
prop1:stuff,
prop2:stuff,
countinnerthings:10
}
目前,我得到的第一个渲染:
respond_to do |format|
format.json { render json: @thing}
end
我还希望能够像as_list一样渲染,我可以在像下面这样的情况下使用它来呈现对象的简单列表。
respond_to do |format|
format.json { render json: @things.as_list }
end
有没有一种简单的方法可以在rails上做到这一点?
这有效,但我不得不修改我的JSON做类似如果选项== nil || options.count == 0 basicjson else super(选项)结束 – steventnorris 2015-01-26 20:07:21