在序列化中包括连接模型属性

时间:2009-12-17 14:33:26

标签: ruby-on-rails serialization

想象一下User :has_many Events :throughInterest联合模型的服务,并且有一个Interest#attending标志表示用户是否计划参加活动。

如果我想返回一个事件列表,但也包含当前用户的#attending标志的值,我可以这样做:

<interests>
  <interest>
    <attending>true</attending>
    <event>
       ...
    </event>
  </interest>
</interests>

但是我还要在获取单个事件时返回#attending标志的值以进行身份​​验证。 (为了节省客户端必须发出额外的HTTP请求。)所以,我很想返回更像这样的东西:

<events>
  <event>
    <attending>true</attending>
    ...
  </event>
</events>

有没有理由不接受这种方法?

1 个答案:

答案 0 :(得分:0)

听起来好像取决于客户端如何使用数据。如果他们正在写回您的数据库,那么您必须将他们的输入转换为可接受的格式(没有按事件处理状态)。但如果只是显示它我没有看到它的问题。我在某些情况下做过这种去标准化;它总是“感觉”错误,但只要我记录行为,我就没有问题。