2010-10-25 106 views

回答

4

ActionPackActiveRecord是單獨的模塊,所以沒有內置的支持。

5
params[:controller].classify.constantize 
+1

不應該是'params [:controller] .classify.constantize'? – zetetic 2010-10-25 19:07:16

+0

是的,修復它。謝謝! – jordinl 2010-10-25 19:19:13

+0

我不認爲這是什麼viatropos問。他希望控制器內部的* model *的名稱,這給了控制器。控制器與模型沒有固有的聯繫,所以我相信Sam的答案是正確的。 – 2010-10-25 19:23:24

1

另一種方式:

controller_name.classify 
+0

這會切斷命名空間 – jmoreira 2013-11-22 15:07:15

+0

這些是等效的: – 2014-11-15 00:03:10

+0

預期的完整註釋:controller_name.classify()等同於self.class.name.gsub(「Controller」,「」).singularize ()。在我看來,將模型與控制器相關聯的需求很常見,例如,如果您有ORM層次結構。將相同的代碼複製到每個子類中是浪費的(例如,new()),只需更改模型名稱。 – 2014-11-15 00:11:15

相關問題