【问题标题】:Mongoid: correctly using association callbacks with formsMongoid:正确使用带有表单的关联回调
【发布时间】:2013-08-23 18:30:45
【问题描述】:

我遇到了一个我正在努力优雅地解决的问题。我更精通 RDBMS,所以我做事的方式可能并不理想。

我在做什么: 我必须跟踪 HABTM 关联中的项目。更重要的是,计数有一个条件,因为只有“活动”的项目才会被计算在内。我已成功使用关联回调来跟踪集合中的添加和删除。

问题: 我还通过将相反实例的 id 设置为表单作为隐藏字段,通过表单将项目添加到集合中。这工作正常,但问题是这会将相反的实例直接添加到集合中而不调用回调(古老的问题)。

我的问题: 有没有更优雅的方式将添加实例添加到调用回调的集合中?

如果您需要任何更具体的示例,请告诉我,我很乐意提供一些。

【问题讨论】:

    标签: mongodb ruby-on-rails-3.1 mongoid3


    【解决方案1】:

    您是否尝试过使用以下 mongoid3 回调?

    • after_add
    • after_remove
    • before_add
    • before_remove

    更多信息here

    【讨论】:

    • 这就是我目前解决问题的方法。它不是最优的,因为我必须做很多状态管理,因为我必须弄清楚关联回调是否已被调用,在这种情况下它应该跳过模型回调。我一直在寻找 assoc 的解决方案。仅限回调。我知道这可能不存在,但认为值得问你们。
    猜你喜欢
    • 1970-01-01
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多