-1

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

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

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

谢谢,如果有什么不明白的,请告诉我。当我真的很困惑时,很难说清楚。

4

1 回答 1

2

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

我建议将侧边栏的 html 放在部分或两个中,并将其填充到 application_controller 操作中的逻辑将为每个页面请求运行,例如:

before_filter :populate_sidebar

def :populate_sidebar
    @sidebar_content = foo
end
于 2009-09-26T04:54:57.710 回答