2015-10-17 304 views
1

我有兩個控制器命名爲:lists_controller.rbarticles_controller.rb如何在其他控制器視圖中使用One控制器方法?

並在articles/index.html.rb下查看。

我想在articles/index.html.rb中使用list_controller.rb中的元素。 我在lists_controller.rb方法如下:

def index 
    @lists = List.all 
end 

我想在articles/index.html.rb使用@lists遍歷所有的元素下@lists例如在articles/index.html.rb視圖下articles_controller.rb

+1

您需要在'articles_controller'的'index'方法中定義'articles'/articles.html.rb'中使用'@ lists'的方法' – Pavan

+0

謝謝。我知道這只是basic.But不能在合適的時間。 – ashr81

回答

3

最簡單的方法是簡單地添加@lists = List.allArticlesController#index。這幾乎沒有足夠的代碼來擔心重複/乾燥。

更需要複雜的行爲,可以通過在ApplicationController定義它共享控制器當中行爲(從哪個控制器繼承),或使用一個filters控制器內的多個動作之間,或者通過組合兩個。

0

要直接回答標題 - 您可以使用名爲list_index的方法創建模塊,然後在兩個控制器中包含該模塊。

在您的具體情況下,可能會比其他人列出的兩個電話更容易。

相關問題