2013-05-30 42 views
1

我正在使用現有的煉油廠CMS應用程序,用於在許多不同地方有許多控制器的客戶端。如果你是精煉CMS的n00b,你可以將整個導軌應用程序嵌入到供應商文件夾中,它們就像插件一樣。它的複雜性如何運作,甚至更糟糕的是,很多模型/控制器都嵌入在精煉寶石中,所以控制器可能存在,但是它們並沒有提交。Rails&Refinery CMS:從視圖中確定控制器類名稱?

我希望通過下面這個例子來擴展控制器:

http://refinerycms.com/edge-guides/extending-controllers-and-models-with-decorators

,我沒有,但我的代碼是不點火。我確實解決了這個問題,所以我的問題得到了解決,但將來知道我所擁有的這個視圖是什麼控制器會很有用。該觀點在寶石藏然而,一個局部,它引用已經覆蓋,所以我可以扔的東西,如:

<%= raise self.class.to_yaml %> 

有了這個,我得到以下錯誤的問題:

can't dump anonymous class: #<Class:0x000000061f5850> 

其中ISN對我非常有幫助。

我的問題是這樣的:如何輸出調用任何給定視圖/部分的控制器的類名?

謝謝!

回答

3

您可以使用params[:controller]params[:action]電流動作

+0

的感謝!另外,我認爲這可能是一個更好的答案'params [:controller] .camelize',因爲我的問題是我錯過了我需要在中間添加':: Admin'的事實。 – DJTripleThreat

+0

您是否將您的控制器放置在.../admin/users_controller.rb中,並希望獲得rezult,如「... :: Admin :: Users? – Parandroid

+0

是的,我最終需要重寫控制器而不是擴展它,因爲需要定製其中一個restful方法,我發現這個頁面幫助我找出要覆蓋的文件(請參閱rails命令,瞭解如何在此頁面上執行此操作):https://gist.github.com/ryandeussing/2502881 – DJTripleThreat