2011-08-25 31 views
3

所以..我試圖做這樣的事情:Ruby:更有效的方法將table_name轉換爲對象Model?

"active_record_object" => ActiveRecordObject 

用下面的代碼:

ar_object = (object.singularize.split("_").each{|o| o.capitalize!}).join.constantize #convert to ActiveRecord object 

是有沒有更有效的方式來做到這一點?鏈接7個字符串操作方法似乎對Ruby有點瘋狂。

回答

5

有一個名爲classify該方法:

"active_record_object".classify 
# => "ActiveRecordObject" 

編輯:在評論中指出,"active_record_object".classify.constantize讓你一路。

+2

''active_record_object「.classify.constantize'實際上是OP想要的 –

+0

@nash:True,編輯我的答案。 –

相關問題