2009-09-26 64 views
-1

嘿家伙。我正在创建一个rails应用程序,并且是我第一次使用MVC模式,更不用说rails了,我正在陷入模糊和不确定的境地。我已经定义了一个application.html.erb,它工作得很好,它有一个yield语句,它呈现当前操作的视图。帮助构建Rails应用程序

我希望application.html.erb包含一些动态内容,例如在侧边栏中。我想知道这个动态内容的代码应该放在哪里。在做实验时,我创建了一个名为home的控制器,并在那里定义了逻辑,但我认为它不应该到那里。这只是我没有创建模型,因为我不需要任何形式的数据库,并且大多数我看到的示例都使用模型专门与某种形式的持久数据进行交互。在家庭控制器中,我定义了索引操作,当我转到mysite.com/home/时,它会显示我想要查看的动态内容,但在布局的内容部分(yield语句所在的位置)中显示。

基本上我觉得现在都纠结了,我想知道如何将这个动态内容放在我的application.html.erb布局的侧栏中,以便它始终保留在我的网站中,因为我的整个站点都使用这个布局。我正在考虑使用application_controller.rb,但有些事情告诉我,我应该离开这一切。

谢谢,让我知道是否有任何意义。当我真的很困惑时,很难清楚。

回答

2

application_controller.rb是您的侧边栏内容去的好地方。如果您的内容是真正的应用程序范围,例如侧边栏导航,那么它是适合它的地方。

我建议您把HTML的侧边栏在部分或两个,并填充它在application_controller行动,会为每一个页面请求的运行逻辑,类似:

before_filter :populate_sidebar 

def :populate_sidebar 
    @sidebar_content = foo 
end 
+0

我欣赏的快速准确的回应道格。我在IRC上得到了同样的回应,所以我认为这是正确的做法。 –