在Ruby on Rails Web应用程序中插入页眉和页脚?

时间:2013-03-09 08:05:20

标签: ruby-on-rails web-applications include

我来自PHP开发,我正在尝试学习Ruby on Rails。我想知道插入页眉和页脚的最佳做法是什么?通常在PHP中,我只需include('header.php');然后include('footer.php');

现在我正在尝试学习Ruby on Rails并试图了解我应该如何或在哪里放置这些页眉/页脚文件?

我创建了一个新的应用程序

rails new new_app

然后我生成了一个新的控制器

rails generate controller SignUp

这创建了一些文件和文件夹。我在新的new_app/views/sign_up文件夹中开发了一些HTML,但我想在此页面和将来的页面中包含页眉和页脚。我应该在哪里有这些文件?在同一个文件夹中?或在new_app/views/layouts下的默认文件夹下?另外,如何在创建文件后包含文件?

我是ruby on rails开发的新手,我想从专家那里获得一些知识!谢谢!

2 个答案:

答案 0 :(得分:60)

new_app/views/layouts中会有一个名为application.html.erb的文件。打开该文件,将标题内容放在上面写<%= yield>的位置,将页脚内容放在<%=yield>下面。

我通常在名为_header.html.erb_footer.html.erb的布局文件中制作一个parital,并执行以下操作: -

<%= render "layouts/header" %>
<%=yield %>
<%= render "layouts/footer" %>

答案 1 :(得分:2)

如果您有动态内容,则可以为页眉和页脚创建部分,并在布局文件中使用render包含它们。否则,你可以编辑你的布局文件以获得页眉和页脚。

您的脚手架为SignUp生成了视图,将使用布局文件呈现最终的HTML,因此app/views/layouts/application.html.erb文件中的所有内容都将包含在输出中(假设您使用此文件作为布局文件为了你的观点)。