Ruby on rails 尝试从其他控制器渲染@categories

Ruby on rails 尝试从其他控制器渲染@categories,ruby-on-rails,ruby,twitter-bootstrap,view,partial,Ruby On Rails,Ruby,Twitter Bootstrap,View,Partial,我正在使用forem并尝试呈现所有类别的列表(由一个控制器提供),并且应该显示在论坛的每个页面上。问题是,我正试图将@categories从CategoriesController拉到侧边栏,该侧边栏将位于整个站点的不同页面上。“做错了” 所有类别的列表应来自类别模型或帮助程序代码,而不是控制器。控制器用于处理传入的HTTP请求,不应与其他控制器交互 您应该将侧边栏放在应用程序布局中,然后在应用程序控制器的a中定义@categories。这是使用“演示者”的完美案例 我同意@Narfanator

我正在使用forem并尝试呈现所有类别的列表(由一个控制器提供),并且应该显示在论坛的每个页面上。问题是,我正试图将@categories从CategoriesController拉到侧边栏,该侧边栏将位于整个站点的不同页面上。

“做错了”

所有类别的列表应来自类别模型或帮助程序代码,而不是控制器。控制器用于处理传入的HTTP请求,不应与其他控制器交互


您应该将侧边栏放在应用程序布局中,然后在应用程序控制器的a中定义
@categories

这是使用“演示者”的完美案例

我同意@Narfanator;您应该从类别模型而不是控制器中提取类别。但是,我不喜欢在应用程序控制器中使用before_过滤器,除非您希望在站点中的所有页面上显示类别


看看这篇文章。如果你喜欢通过视频学习,请看一看。该视频为您提供了一个使用演示者的完整示例。这将极大地清理您的代码并简化您的生活。

您能发布一些代码来更好地解释您遇到的问题吗?“/forem/forums/sidebar”%>----部分----------因此您需要将
放在过滤器之前
仅放在负责论坛的控制器部分。我如何编辑控制器,这是一个没有生成任何控制器的引擎大多数引擎都提供了一些将代码放入应用程序的方法。哪个引擎?