我有两个rails应用程序,有一个服务被两个都使用。我已经将服务重构为一个gem,可以被两个rails应用程序利用。
例如,gem中定义的服务
class MyService
def method_that_uses_a_model
ApiModel.create({})
end
end
字符串
但模型是在Rails应用程序中定义的
class ApiModel
end
型
作为一个gem,该服务是否可以在将使用它的Rails应用程序中访问Rails模型?
如果没有,我如何从gem中访问rails应用程序中定义的模型?
1条答案
按热度按时间yc0p9oo01#
是的。虽然这意味着你的gem非常脆弱。你最好提供这个类作为gem的配置选项,这样你的应用程序就可以设置这个配置选项,甚至可以在应用程序的初始化器中设置gem中的常量。