2009-07-24 42 views
3

我使用Ruby on Rails創建個人站點。大多數情況下,RoR是一個完美的工具,允許博客文章,評論等都很容易。使用Ruby on Rails創建非標準頁面

但是,我想有幾頁不需要任何特定的模型。例如,「關於我」頁面是必要的,但不保證它是自己的模型/控制器。此外,這些「單身」頁面將鏈接到我的默認佈局,並且即使在沒有創建對象時也必須可以訪問。

有沒有很好的方法來處理這個問題?我看到很多RoR網站在保留漂亮的url的同時擁有單個頁面,但從來沒有一個關於它的結構的例子。最後,是否有可能讓這些單頁動態?如果完全可以避免的話,我寧願不使用靜態HTML。

回答

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 

這種架構適合大多數靜態頁面。如果你想要「半靜態」頁面,你可以考慮動態加載數據庫中的內容。