我有一个rails引擎,它使用消费应用程序中的 current_person 对象。引擎调用 current_person.name 。
我需要复制这个对象,以便我可以为我的引擎创建一个独立的虚拟应用程序。如何在我的虚拟应用程序中定义 current_person 对象,以便我的引擎在从虚拟应用程序运行时正确选取 current_person.name 。
答案 0 :(得分:0)
我假设您在虚拟应用中没有User
模型?
如果您只需要访问current_person
上的属性,那么您可以使用OpenStruct
模拟虚拟应用中的Person对象(请参阅https://ruby-doc.org/stdlib-2.4.0/libdoc/ostruct/rdoc/OpenStruct.html)
例如:
def current_person
OpenStruct.new( name: 'Test User', email: 'somewhere@whatever.xyz' )
end
# usage
current_person.name # => 'Test User'