应用程序生成器:我如何声明一个变量用于整个生成器?

问题描述:

我有一个rails应用程序生成器,我需要在整个模板中的几个位置清理app_name。在每个需要sanitized_app_name的地方做这件事感觉不对,但我很难在这类事情上找到文档。应用程序生成器:我如何声明一个变量用于整个生成器?

定义一个常量:

APP_NAME = ->(input) { ...sanitizing code ... }.(:real_app_name) 

到处使用它。

+0

这绝对是我想采取的那种路线 - 但我在哪里定义? 我把它放在调用'AppGenerator.start'的'bin /'里面的ruby脚本中,但是我在'template'中得到了一个(erb):4:未初始化的常量DefaultRails :: AppGenerator :: DB_NAME(NameError) – refeniz

+0

这是很难说,因为我不知道你的项目结构。把它放在在你的AppGenerator类中。 – mudasobwa

+0

你说得对,我有一个很大的误解。谢谢。 – refeniz