2013-12-16 62 views
0

訪問變量有沒有一種方法來創建內部Controller concern變量如下面和使用@sidebar_menu_item其他控制器,包括Application Controller使用控制器的擔憂在所有控制器

module Menu 
    extend ActiveSupport::Concern 

    class << self 
     def add_sidebar_menu(top_level, menu_class, menu_items, expanded = false) 
      @sidebar_menu_item ||= [] 
      @menu_items ||= [] 
      @sidebar_menu_item << [top_level, menu_class, @menu_items.concat(menu_items), expanded] 
     end 
    end 
end 
+0

請在你想實現,因爲我不認爲你的建議是什麼做事情的正確方法是什麼詳細 –

+0

你能不能把它變成一個幫手,而不是控制? –

回答

0

如果你想擁有它的所有控制器可用時,常用的模式是將其添加到ApplicationController和通過繼承共享。

的方法add_sidebar_menu提出的是@ SG86問的問題。如果它只是用於視圖層,爲什麼你不在這裏使用助手?

因爲你所談論的「共享變量」我想,你也試圖在控制器中存儲狀態。如果是這樣,不要做。使用會話,cookie或數據庫。