帮助构建Rails应用程序

时间:2009-09-26 04:43:57

标签: ruby-on-rails model-view-controller layout organization

嘿伙计们。我正在创建一个rails应用程序,并且是我第一次使用MVC模式之一,更不用说rails了,我遇到了歧义和不确定性。我已经定义了一个工作得很好的application.html.erb,它有一个yield语句,用于呈现当前操作的视图。

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

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

谢谢,如果有什么不合理的话,请告诉我。我真的很困惑时很难说清楚。

1 个答案:

答案 0 :(得分:2)

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

我建议将侧边栏的html设置为部分或两部分,以及在每个页面请求运行的application_controller操作中填充它的逻辑,如:

before_filter :populate_sidebar

def :populate_sidebar
    @sidebar_content = foo
end