我们如何在其他控制器视图中使用One controller方法?

时间:2015-10-17 13:29:49

标签: ruby-on-rails ruby ruby-on-rails-4

我有两个名为lists_controller.rbarticles_controller.rb的控制器。

articles/index.html.rb下的视图。

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

def index
    @lists = List.all
end

我想在@lists中使用articles/index.html.rb来循环@lists

articles/index.html.rb视图中articles_controller.rb个实例下的元素

2 个答案:

答案 0 :(得分:3)

最简单的方法是将ArticlesController#index添加到ApplicationController。它的代码几乎不足以担心重复/干扰。

如果需要更复杂的行为,您可以通过在{{1}}(从哪些控制器继承)或在使用filters的控制器中的多个操作之间定义控制器,或者通过组合两者来共享控制器之间的行为

答案 1 :(得分:0)

要按字面意思回答标题 - 您可以使用名为list_index的方法创建一个模块,然后在两个控制器中包含该模块。

在您的特定情况下,可能更容易接受其他人已经概述的两个电话。