我有一個名爲GlobalHelper
的助手。Rails - 使用別名調用模型或助手的方法
其中有幾個常量(例如GLOBAL_URL
)和方法(例如self.get_url
)。
我試圖使C(#define URL
)中的宏的別名或等價物輕鬆訪問我的任何視圖和控制器中的常量和方法。
現在我必須做這樣的:
GlobalHelper.get_url(GlobalHelper::URL_TYPE_PAGE, ["page1"])
而且我想擺脫GlobalHelper
處處用別名/巨集取得這樣不是代碼:
aliasmethod(aliasconstant, ["page1"])
我怎樣才能做到這一點?
你不應該這樣做。最好是明確的。如果你確實需要,那麼使用關注點,並將它們混合到你使用'GlobalHelper'模塊的類中。 – meagar
紅寶石中沒有類C宏,所以文本替換是不可能的。是的,做@meagar說的。你需要閱讀「關注」和「mixins」。 –
@SergioTulentsev在[tag:c]中也沒有宏。有一個宏預處理器,可能涉及構建鏈。前面提到的預處理器可以很容易地在任何文件上運行,包括ruby,而宏是有效的語法。 _以上只是一個更正,不應該被視爲一種方式去通過任何方式:)_ – mudasobwa