Ruby on Rails最佳实践 - 为共享布局创建Pages控制器?

时间:2011-05-30 05:34:20

标签: ruby-on-rails ruby ruby-on-rails-3

构建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。

我应该生成名为Pages的控制器吗?

3 个答案:

答案 0 :(得分:6)

直接回答你的问题:不要为共享布局创建一个控制器......但请遵循以下建议:

1 about.php, index.php, sign-up.php

可以在控制器中收集

aboutindex个操作,通常我将其命名为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.jsstyles/main.css将转到/public/javascripts/public/stylesheets(至少对于Rails 3.0.x)

答案 1 :(得分:5)

您正在寻找的是Layouts。实际上,您在/app/views/layouts(默认为application.html.erb)中定义了一个布局,它是所有页面内容的“包装器”。此布局可以包含您可能需要的任何其他文件,并且可以由每个单独的视图动态修改。您可以阅读官方教程here

答案 2 :(得分:3)

This R.贝茨的轨道广播展示​​了你所需要的一切!