代码之家  ›  专栏  ›  技术社区  ›  Jorge Israel Peña

首页的控制器?

  •  2
  • Jorge Israel Peña  · 技术社区  · 15 年前

    我刚接触RubyonRails,我确信这个问题非常愚蠢,但是我不能从我所看到的例子中推断出答案,也许我没有看到很多好的例子。

    我正在工作的一个网站将在一个侧栏中有“框”(即小部件),其中包含动态内容,它还将在另一个侧栏上有指向网站各部分的链接,这些部分将由不同的控制器处理。网站的布局/风格将在整个控制器中保持不变。例如,如果我单击一个链接,中心的内容将更改,但网站的其余设计和布局将保持不变。

    我的问题是我是否应该创造出 home 控制器,它将处理首页和站点的布局,然后在调用特定控制器的布局时以某种方式屈服于该布局,然后将该控制器指定为中的根控制器。 routes.rb ?我只是想知道如何指定布局应该保持相对相同,这样就不必冗余,也不必为每个控制器粘贴相同的布局代码。这是IRC上的人建议的,创建一个 控制器,但我想知道这是不是正常的做事方式。事实上,对于我所关心的一切来说,答案可能很简单,但由于我刚接触到Rails,所以我已经忘记了。

    我真的不知道如何恰当地表达我的问题,因为我对Rails比较陌生。如果有什么不合理,请告诉我,我会尽力澄清。

    谢谢。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Andrew Vit    15 年前

    是的,您可以为此使用页控制器,并将其设置为routes.rb中的根URL。

    请记住,如果不想,您不需要为每个控制器使用单独的布局文件。如果您在layouts/application.html.erb中创建一个文件,它将在整个应用程序中使用。您可以通过创建根据将自动拾取的控制器命名的其他布局来覆盖它,或者在控制器中设置layout:other_name来更改它。

        2
  •  1
  •   JRL    15 年前

    如果创建文件 application.html.erb 在layouts文件夹中,默认情况下,任何在layouts文件夹中没有相应布局文件的控制器都将使用它。此外,还可以通过添加以下内容手动指定要在控制器中使用的布局:

    layout "your_layout_name"
    

    在你的控制器里。