在另一个控制器视图中使用一个控制器操

时间:2011-04-24 01:32:56

标签: ruby-on-rails

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

我有一个Users控制器和一个Worlds控制器,每个控制器都有自己的模型和视图。我正在尝试使用“用户”视图中的“世界”视图中的内容

<% @worlds.each do |world| %>
 ...
<% end %>

但我得到了 “当你没想到它时,你有一个零的对象! 您可能期望一个Array实例。 在评估nil.each“

时发生错误

在世界观点中使用时,每个世界的这个列表都按预期工作

1 个答案:

答案 0 :(得分:2)

只需在您的用户控件中定义您的@worlds变量:

# UsersController
def index
  @worlds = World.all
end

你应该明白,模型和控制器是不同的本质。分开了。控制器可以使用任何模型。 Controller是所有模型和特定视图之间的层。