33

我来自 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 开发的新手,我想从专家那里获得一些知识!谢谢!

4

2 回答 2

73

new_app/views/layouts里面会有一个文件叫做application.html.erb. 打开那个文件,把你的页眉内容放在上面写的地方,把<%= yield>页脚内容放在下面<%=yield>

我通常在名为的布局文件中创建一个parital,_header.html.erb然后_footer.html.erb执行以下操作:-

<%= render "layouts/header" %>
<%=yield %>
<%= render "layouts/footer" %>
于 2013-03-09T08:08:27.790 回答
2

如果您有动态内容,您可以为页眉和页脚创建一个部分,并将它们包含render在布局文件中。否则,您可以只编辑布局文件以具有页眉和页脚。

Your scaffold generated views for SignUp, will all use the layout file to render the final HTML, so everything in the app/views/layouts/application.html.erb file will get included in the output (assuming that you are using this file as the layout file for your view).

于 2013-03-09T08:09:48.273 回答