gpt4 book ai didi

ruby-on-rails - 将模型上的所有方法调用委托(delegate)给关联

转载 作者:数据小太阳 更新时间:2023-10-29 06:34:21 25 4
gpt4 key购买 nike

我有一个具有多态关联的 ActiveRecord 模型,如下所示:

class Reach < ActiveRecord::Base
belongs_to :reachable, :polymorphic => true
end

这个模型就像一个代理。我需要做的是将对该对象的所有方法调用转发给关联的对象 :reachable。我认为 delegate 在这里无济于事,因为我必须明确命名我需要委托(delegate)的所有方法。我需要像 delegate :all 这样的东西来委托(delegate)所有方法(不是 all 方法)。

最佳答案

从 Rails 5.1+ 开始,您可以委托(delegate)所有未使用 delegate_missing_to :reachable

实现的内容

基本上,按照您的期望行事。您可以在 Api Doc 上阅读更多内容

如果您停留在以前的版本中,那么建议您使用 @Veraticus answer 中的 method_missing ,如前所述,在性能方面不那么明智,但我认为这是更灵活的方法。

关于ruby-on-rails - 将模型上的所有方法调用委托(delegate)给关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9914400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com