使用Ruby on Rails创建非标准页面

时间:2009-07-24 19:46:30

标签: ruby-on-rails ruby

我正在使用Ruby on Rails创建一个个人网站。在大多数情况下,RoR是一个完美的工具,允许博客文章,评论等都相当容易。

但是,我想要一些不需要任何特定型号的页面。例如,“关于我”页面是必要的,但不保证它自己的模型/控制器。此外,这些“单身”页面将从我的默认布局链接到,即使没有创建对象也必须可以访问。

有没有一个好方法来处理这个问题?我看过很多RoR网站都有单页,同时保持漂亮的网址,但从来没有一个如何构建它的例子。最后,是否可以使这些单页动态化?如果可以避免的话,我宁愿没有静态HTML。

2 个答案:

答案 0 :(得分:7)

有一个关于这个主题的Railscast可能会回答你的问题:

http://railscasts.com/episodes/117-semi-static-pages

我在Rails应用程序中使用过几次这个解决方案。

答案 1 :(得分:2)

我通常创建一个“静态”控制器,例如AboutController

ruby script/generate controller about

然后,我创建与我的网页一样多的操作:indexcontactterms ... 然后我在routes.rb文件中添加了一个通用路由。

map.about 'about/:action', :controller => "about"

在我的网页中,我将单个页面引用为

<%= link_to "Contact", about_path(:action => "contact") %>

因为它们是静态页面,您还可以考虑将它们缓存在控制器中。

class AboutController < ApplicationController
  caches_page :index, :contact, ...
end

这种架构非常适合静态页面的大部分。如果您想要“半静态”页面,可以考虑动态加载数据库中的内容。