我有一个名为GlobalHelper
的帮手。
其中有几个常量(例如GLOBAL_URL
)和方法(例如self.get_url
)。
我试图在C(#define URL
)中创建别名或等效的宏来轻松地从我的任何视图和控制器访问常量和方法。
现在我必须这样做:
GlobalHelper.get_url(GlobalHelper::URL_TYPE_PAGE, ["page1"])
我想用别名/宏来摆脱GlobalHelper
到处取代这样的代码:
aliasmethod(aliasconstant, ["page1"])
我该怎么做?
答案 0 :(得分:0)
ruby不是c,因此在尝试将这些概念引入项目之前,您应该先了解如何编写ideomatic ruby代码。
因为我不知道你的get_url方法究竟是什么,所以我只能给出有限的建议。
可能会产生更好代码的一件事是使用符号而不是常量:
GlobalHelper.get_url(:page, ["page1"])
使用Module
代替Class
时,您可以将其包含在内并直接调用该方法:
include GlobalHelper
get_url(...)
这些只是可以做的事情的例子。并不是说这比直接明确调用GlobalHelper
更好。这完全没有错。