Ruby on rails rails to_xml/to_json选项

Ruby on rails rails to_xml/to_json选项,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我目前正在使用rails,并尝试将我的模型呈现为xml和json 现在,在我的所有模型中,我都想删除创建的和更新的列,并且在我的每个to_xml/json中添加一个except是不可取的 所以我想知道我该怎么做 我看到人们重写了_xml方法——但我仍然必须对每个模型都这样做——如果有一个地方我需要这些列呢 我在找像这样的东西 xxx = :except => [:created_at, :updated_at] 在每次渲染中,我将xxx发送到选项 作为记录——我知道如何使用to_jso

我目前正在使用rails,并尝试将我的模型呈现为xml和json

现在,在我的所有模型中,我都想删除创建的和更新的列,并且在我的每个to_xml/json中添加一个except是不可取的

所以我想知道我该怎么做

我看到人们重写了_xml方法——但我仍然必须对每个模型都这样做——如果有一个地方我需要这些列呢

我在找像这样的东西

xxx = :except => [:created_at, :updated_at]
在每次渲染中,我将xxx发送到选项

  • 作为记录——我知道如何使用to_json/to_xml——我只是不想重复这些常用的选项
检查单据:

检查文档:

帮我看一看这就是方法

帮我看一看这就是方法

试试这个:

xxx.to_json(:except => [ :created_at, :updated_at ])
试试这个:

xxx.to_json(:except => [ :created_at, :updated_at ])

在模型中重写为_json。这是在执行以下操作时用于生成json的内容:

render:json=>@object

def as_json(options = {})
  super(options.merge(:except => [:created_at, :updated_at]))
end
你可以玩这个-使用提交或不提交的选项


使用:only、:methods和:include可完全自定义输出。

在模型中重写为json。这是在执行以下操作时用于生成json的内容:

render:json=>@object

def as_json(options = {})
  super(options.merge(:except => [:created_at, :updated_at]))
end
你可以玩这个-使用提交或不提交的选项


使用:only、:methods和:include完全定制输出。

我最终创建了一个模块,覆盖了可序列化的_散列(用于json和xml)


我把它包含在我想要的每一个模型中,这个行为

我最终创建了一个覆盖可序列化_散列的模块(用于json和xml)


我把它包括在我想要的每一个模型中这种行为

你在嘲笑我吗?或者这真的解决了我的问题您只需放置:except选项。我知道怎么做,我只是不想在每次渲染中都这样做…对不起,你觉得被嘲笑了。。。。这是有误导性的(但我仍然必须对每个模型都这样做——如果有一个地方我需要这些列怎么办?)那么,与其直接使用选项,不如创建一个helper方法,并将活动的_记录对象发送给它。将带有所需选项的to_json放在那里。它开始返回你想要的…那真是太棒了,为什么我没想到。。。也许我只是认为有一种内置的rails方式可以做到这一点,你在嘲笑我吗?或者这真的解决了我的问题您只需放置:except选项。我知道怎么做,我只是不想在每次渲染中都这样做…对不起,你觉得被嘲笑了。。。。这是有误导性的(但我仍然必须对每个模型都这样做——如果有一个地方我需要这些列怎么办?)那么,与其直接使用选项,不如创建一个helper方法,并将活动的_记录对象发送给它。将带有所需选项的to_json放在那里。它开始返回你想要的…那真是太棒了,为什么我没想到。。。也许我只是认为有一种内置的rails方法可以做到这一点,它给了我一个引导-我的答案就是我最终做的它给了我一个引导-我的答案就是我最终做的