2012-05-15 31 views
2

我對軌道非常新,我正在尋找指導。Ruby on Rails - 一個佈局頁面不同的內容

我在軌道上構建我的投資組合,我知道軌道的基本規則是「不要重複你自己」。

我可以創建一個佈局頁面來詳細顯示我的工作,但會生成多個頁面,每個頁面都有自己的內容。例如:www.mywork.com/nike將與www,mywork.com/pepsi具有相同的佈局但內容不同。如果我這樣做,我該如何在他們的獨特名字下拉某些圖片/文字。

或者我只是創建靜態頁面並使用相同的樣式表?

感謝您的幫助!

+4

對不起,沒有犯罪意圖,我曾經有過,但你需要通過對Rails的良好介紹來進行定位,比如[帶有Rails的敏捷Web開發](http://pragprog.com/book/rails3/agile-web-development-with-rails)。 – Mori

+0

看看[本指南](http://guides.rubyonrails.org/layouts_and_rendering.html#structuring-layouts)。初學者也可以。 – caulfield

回答

0

看看這個導軌投 - http://railscasts.com/episodes/117-semi-static-pages

我同意你正在嘗試做的是不是真的「的軌道的方式」,但我用在上面的鏈接技術,每當我創建頁面例如關於我們和通常具有文本塊並且將來可能被更新的隱私頁面。

簡而言之,您需要做的是創建一個名爲content_page的模型,該模型具有鏈接(字符串)和內容(文本)和標題(字符串)。然後創建只是一個表演動作控制器,它看起來像這樣 -

class ContentPagesController < ApplicationController 

    def show 
     @content_page = ContentPage.find_by_permalink(params[:link]) 
     raise ActiveRecord::RecordNotFound, "Page not found" if @content_page.nil? 
    end 
    end 

而且在你看來對你的表演動作,你可以說這樣的話 -

@content_page.content 
    @content_page.heading 

獲取內容和標題對於該記錄(或者分配給ContentPage的其他任何屬性)。

然後在你的路線,你可以在你的routes.rb底部有這樣的事情(你把它的底部,因爲它是一個貪婪的路線) -

match ':link' => 'content_pages#show' 

所以,現在你可以說WWW .mywork.com/nike將以nike作爲鏈接查找內容頁面。我很簡短,因爲它非常值得關注。

就像我,雖然說,上述技術只用於基本內容的網頁好,你真的應該爲每個頁面控制器,即使它只是一個索引行動:)