2013-01-21 26 views
1

我網站的每一頁都有一個獨特的標題。當我覺得我可以用佈局和幫手來做到這一點時,我重複自己並向多個頁面添加代碼。我會告訴我的工作代碼和我正在開發其發生故障的解決方案,我需要來自application_helper的Rails控制器和動作特定標題

頁面標題一定的幫助是基本形式如下:

<title>Company Name - Page Description</title> 

現在我的佈局,這樣處理:

<%= content_for?(:page_title) ? yield(:page_title) : default_page_title %> 

我有一個應用助手方法是這樣的:

def default_page_title 
    content_tag(:title, 'My Company Name - the default description here') 
end 

然後每一頁都有是這樣的:

<% content_for(:page_title) do %> 
    <%= content_tag(:title,'My Company Name - Page specific description here') %> 
<% end %> 

它的工作原理,但我不希望這些片段添加到每個頁面的頂部...我也不想重複「我的公司名稱 - 」每一頁上。我想開發一個解決方案,在該解決方案中,頁面描述全部在應用幫助器中填寫,應用佈局根據控制器和操作選擇正確的解決方案。

我下面工作的一個助手一樣(沒有因爲我希望有人能幫助我與各種原因):

def page_title 
    content_tag(:title, "My Company Name - " + page_description) 

    def page_description 

    case params[:controller].params[:action] 
    while public.index 
    'Description for public controller index action' 
    while public.contact 
    'Description for public controller contact action' 
    end 
    end 
end 

這將讓我做網頁的具體變化,以標題在application_helper代替修改每個頁面。

回答

1

我不會推薦這個..我在一些項目中自己做過,但是在一段時間後結束了在視圖中指定的單個標記。如果您有一些更復雜的表單/工作流程,則不容易識別路徑和哪些操作相關聯...