我有一個這樣的模塊:如何在自定義控制器模塊使用「constantize」
module Controller
module LocaleModels
def self.included(base)
base.send :include, InstanceMethods
end
module InstanceMethods
def locale_Lexeme; constantize_model('Lexeme') end
def locale_Synthetic; constantize_model('Synthetic') end
def locale_Property; constantize_model('Property') end
private
def constantize_model(common_part)
eval(I18n.locale.capitalize + '::' + common_part).constantize
end
end
end
end
但我一直得到
NoMethodError (undefined method `constantize' for #<Class:0x2483b0c>)
我想我不能自定義模塊中使用「constantize」 。
但是,你能提供一些解決方法嗎?
謝謝ryanb。 我剛剛收到了來自rails的回覆:在這裏說明我的錯誤,跟你說的一樣。 其實,'eval'是我的一個錯字,對不起。 但我不認爲着名的'railscast'的作者實際上給了我答案。我是Railscast的一大樂趣。非常感謝你。 – boblu 2009-08-10 00:36:51