app = Object.const_set('CoolModule',Module.new)
反正有没有为该模块添加一个类?这样的事可能吗?
app << (class Application; end)
我基本上试图让以下内容继续下去
module 'CoolModule'.turnThisIntoAModule class Application < Rails::Application config.blabla = 2 endend解决方法 您可以为动态命名的模块添加一个类,如下例所示:
app = Object.const_set('CoolModule',Module.new)Object.const_get('CoolModule'). const_set('Application',Class.new(Rails::Application) do config.blabla = 2 end)
如果您可以在调用点访问app对象,那么它当然可以替换Object.const_get(‘CoolModule’)表达式.
Module.module_eval建议自己,但不幸的是它不以块形式进行范围查找.它在字符串参数形式中执行,但我不鼓励在字符串上使用evals.
总结以上是内存溢出为你收集整理的ruby-on-rails – 在Ruby中动态地向类添加类全部内容,希望文章能够帮你解决ruby-on-rails – 在Ruby中动态地向类添加类所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)