application.html.erb
,它有一个yield
语句,用于呈现当前操作的视图。
我希望application.html.erb包含一些动态内容,例如在侧边栏中。我想知道这个动态内容的代码应该去哪里。在进行实验时,我创建了一个名为home的控制器,并在那里定义了逻辑,但我认为它不应该去那里。这只是我没有创建模型,因为我不需要任何形式的数据库,我见过的大多数示例都使用模型专门与某种形式的持久数据进行交互。在家庭控制器中,我定义了索引操作,当我转到mysite.com/home/时,它显示了我想要查看的动态内容,但是在布局的内容部分(yield语句所在的位置)。
基本上我觉得现在都很纠结,我想知道如何将这个动态内容放在我的application.html.erb布局的侧栏中,以便它保留在我的整个网站中,因为我的整个网站都使用了这个布局。我正在考虑使用application_controller.rb
,但有些东西告诉我,我应该单独留下它。
谢谢,如果有什么不合理的话,请告诉我。我真的很困惑时很难说清楚。
答案 0 :(得分:2)
application_controller.rb是您的侧边栏内容的好地方。如果您的内容是真正的应用程序范围,例如侧边栏导航,那么它就是适合它的地方。
我建议将侧边栏的html设置为部分或两部分,以及在每个页面请求运行的application_controller操作中填充它的逻辑,如:
before_filter :populate_sidebar
def :populate_sidebar
@sidebar_content = foo
end