2011-05-10 75 views
6

我想在我的應用程序中創建靜態網頁 - T & Cs,關於,隱私等...我只需創建空白頁並將它們放在公用文件夾中,並將「href」鏈接添加到它們。這是否被認爲是最佳做法?或者我應該爲他們每個人使用rails g controller?有什麼區別...Rails3 - 創建一個靜態網頁?

回答

3

很多時候,我會做一個site控制器,對每個公共頁面都採取行動,假設在公共方面不會有很多內容。如果還有更多,我會研究一些CMS。無論如何,創建一個site控制器,然後爲每個需要的頁面創建路由和模板。這樣你就可以使用佈局,並在需要時使用Rails助手。

1

當然,你可以創建about.html等,並將它們放入public文件夾中。如果它只是一個完全靜態的網頁,那麼控制器不會添加任何值。正如您所期望的,子目錄在public文件夾中也可以正常工作。

8

高壓是一個寶石與你正在做關於什麼幫助了:

https://github.com/thoughtbot/high_voltage

這使得它很容易處理這些情況。從文檔:

編寫您的靜態頁面,並將它們放入RAILS_ROOT/app/views/pages目錄中。

$ mkdir app/views/pages 
$ touch app/views/pages/about.html.erb 

把一些有趣的事情出現後,你可以在你的應用程序從任何地方連接到它:

link_to "About", page_path("about") 

這也將工作,如果你喜歡更明確的風格:

link_to "About", page_path(:id => "about") 
1

剛剛明白了這個sh烏爾德實際上是很容易的,希望,認爲這種通過:

創建例如像路線:

match '/about' => "static#about" 

〜然後創建一個簡單的控制器,在這種情況下應用程序/控制器/ static_controller.rb

class StaticController < ApplicationController 
    respond_to :html 
    def about 
    # nuttin 
    end 
end 

〜現在我們需要的是一個觀點:(/app/views/static/about.html.erb)

Hey! 

排序

+0

忘了我寫這個,來到這裏是爲了幫助自己:] – flunder 2012-11-27 15:07:50

1

創建靜態頁面的 '家'

$ rails generate controller Pages home 

一個新的控制器 '頁' 中加入動作 '家'。一條新的路由被插入'config/routes'。RB」

# config/routes.rb 
get "pages/home" 

要生成一個鏈接到頁面‘家’

<%= link_to "Home", :controller => "pages", :action => "home" %>