【问题标题】:Associating same model object multiple times with different order/datetime将同一模型对象多次与不同的订单/日期时间相关联
【发布时间】:2016-06-28 20:21:58
【问题描述】:

有 Smil 模型、Playlist 模型和 Video 模型。一个 smil 有很多播放列表,一个播放列表有很多视频。创建播放列表后,我希望可以将相同的播放列表添加到 smil 但与播放列表关联的日期时间不同。如果我将 datetime 属性添加到播放列表,它将使得每次使用该播放列表时,它都会具有该日期时间。为了进一步澄清,有一个播放列表 1 和播放列表 2。我希望 smil 文件包含 playlist1 @ datetime1、playlist2 @ datetime2、playlist1 @ datetime3、playlist2 @ datetime4。我应该如何设置/修改 Playlist 模型或 Smil 模型?

【问题讨论】:

    标签: ruby oop ruby-on-rails-4 model


    【解决方案1】:

    您创建另一个包含播放列表和日期时间的模型。它将所有调用委托给底层播放列表实例,日期时间除外。

    更一般地,这被称为代理对象。它的 API 应该与它所代理的对象(在这种情况下为播放列表)的公共 API 相匹配,并且它包含代理对象的一个​​实例,它推迟所有方法调用,它不会自行实现。

    【讨论】:

    • 我按照上面提到的那样做了,并使用了 PlaylistProxy 模型,并将模型中的代理委托给了播放列表。完全按照需要工作,谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-04-15
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 2019-01-19
    • 1970-01-01
    • 2015-05-16
    相关资源
    最近更新 更多