2015-10-17 135 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的方法创建模块,然后在两个控制器中包含该模块。

在您的具体情况下,可能会比其他人列出的两个电话更容易。

相关问题