8
動態調用類方法說我有保存在一個變量的型號名稱:如何紅寶石
"#{class_name.singularize}"
從另一個控制器我想看到這個模型中定義的列。我試圖
send("#{class_name.singularize}.columns")
,但其試圖調用Page.columns
因爲我目前的工作中,而不是Page
類的類的方法。任何想法如何做到這一點?
動態調用類方法說我有保存在一個變量的型號名稱:如何紅寶石
"#{class_name.singularize}"
從另一個控制器我想看到這個模型中定義的列。我試圖
send("#{class_name.singularize}.columns")
,但其試圖調用Page.columns
因爲我目前的工作中,而不是Page
類的類的方法。任何想法如何做到這一點?
使用constantize
:
class_name.singularize.constantize.columns
未定義的方法'constanstize」爲 「頁」:字符串(NoMethodError) – 2012-03-11 06:54:25
@j_mcnally因爲我不會打字,這是'constantize'。更新了答案。 – 2012-03-11 06:55:21
awsome!非常感謝,我不知道這可以做到,你搖滾! – 2012-03-11 07:00:26