gpt4 book ai didi

ruby-on-rails - 将字符串转换为 Rails 中的类名

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:30 25 4
gpt4 key购买 nike

我有一个变量handler,其值可以是flight_gds、flight_commission etc.

我的应用程序中有,它们在module FlightManager 下具有FlightGds、FlightCommission 等名称。

我想根据处理程序的值执行类的功能。
所有类的函数名都是一样的,只是类名不同是依赖于处理程序。

例如:
如果处理程序名称是“flight_gds”,则函数是 FlightManager::FlightGds.calculate()

我正在尝试这样的事情:

FlightManager::handler.camelize.calculate()

但是我遇到了未定义的方法处理程序错误。

有没有办法做到这一点,或者我应该使用 if/else 循环?

最佳答案

你应该使用 constantize根据字符串中的名称获取类:

"FlightManager::#{handler.camelize}".constantize.calculate())

关于ruby-on-rails - 将字符串转换为 Rails 中的类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58335287/

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