想象一下User
:has_many
Events
:through
和Interest
联合模型的服务,并且有一个Interest#attending
标志表示用户是否计划参加活动。
如果我想返回一个事件列表,但也包含当前用户的#attending
标志的值,我可以这样做:
<interests>
<interest>
<attending>true</attending>
<event>
...
</event>
</interest>
</interests>
但是我还要在获取单个事件时返回#attending
标志的值以进行身份验证。 (为了节省客户端必须发出额外的HTTP请求。)所以,我很想返回更像这样的东西:
<events>
<event>
<attending>true</attending>
...
</event>
</events>
有没有理由不接受这种方法?
答案 0 :(得分:0)
听起来好像取决于客户端如何使用数据。如果他们正在写回您的数据库,那么您必须将他们的输入转换为可接受的格式(没有按事件处理状态)。但如果只是显示它我没有看到它的问题。我在某些情况下做过这种去标准化;它总是“感觉”错误,但只要我记录行为,我就没有问题。