gpt4 book ai didi

ruby-on-rails - 是否有可能以编程方式确定在 ruby​​ 中将方法委托(delegate)给哪个对象?

转载 作者:数据小太阳 更新时间:2023-10-29 08:36:29 24 4
gpt4 key购买 nike

我有一组对象,其中一些对象具有 organization_id 属性,其他对象代表 organization_id。

例如:

class Department
belongs_to :organization
end
class Program
belongs_to :department
delegate :organization_id, to: :department
end

class Role
belongs_to :organization
end
class UsersRole
belongs_to :role
delegate :organization_id, to: :role
end

我想要一种方法来以编程方式确定将 organization_id 委托(delegate)给哪个对象类,以便我可以执行类似以下的操作

def find_organization_id_source(object)
object.organization_id.method_im_hoping_exists
end
$ find_organization_id_source(@program)
>> Department
$ find_organization_id_source(@users_role)
>> Role

最佳答案

这是不可能的。从 active_support/core_ext/module/delegation.rb 的来源中可以看出, Rails 创建一个新方法,它将在内部调用委托(delegate)方法。

关于ruby-on-rails - 是否有可能以编程方式确定在 ruby​​ 中将方法委托(delegate)给哪个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35047529/

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