构建Rails应用程序半静态网页的标准方法是什么?
我来自LAMP背景,传统上我会有这样的页面:
about.php
index.php
common/
header.php
footer.php
scripts.php
(etc)
sign-up.php
scripts/
jQuery.js
etc
styles/
main.css
(etc)
在这些文件中,会有一个用于页眉、页脚等的php include。
我应该生成一个名为Pages的控制器吗?
要直接回答您的问题:不要为共享布局创建控制器。。。但请遵循以下建议:
1.about.php, index.php, sign-up.php
:
about
和index
动作可以收集在一个控制器中,通常我将其命名为Static
。
因此,从逻辑上讲,视图将在/app/views/static/
中
对于sign_up
,这将取决于您的选择:您是否希望它坚持您的User
模型。一般情况下,它会进入一些Registration
控制器。
2.common/ header.php, footer.php, scripts.php
将变为:
layouts/_header.html.erb, _footer.html.erb, _scripts.html.erb
+您应该创建一个包含这些部分的布局。
3.scripts/jQuery.js
和styles/main.css
将转到/public/javascripts
和/public/stylesheets
(至少对于Rails 3.0.x)
您要查找的是Layouts
。从本质上讲,您在/app/views/layouts
中定义了一个布局(默认为application.html.erb
),它是所有页面内容的"包装器"。此布局可以包括您可能需要的任何其他文件,并且可以由每个单独的视图动态修改。你可以在这里阅读官方教程。
这个R.Bates的railscast演示了您所需要的一切!