2011-12-31 22 views
2

我提出各種途徑與格式如下圖所示:重構大routes文件

get "address/1000broadway" 
    get "address/300main" 

此路線的名單將有可能增長到數千。管理這個最好的方法是什麼?我可以直接在路線文件中列出它們嗎?或者更好地要求包含路由的各種文件?應用程序必須加載大型routes.rb文件是否存在潛在的性能問題?

+3

有沒有一個令人信服的理由,爲什麼'1000broadway'和'300main'不能簡單地作爲變量處理? – sarnold 2011-12-31 03:50:21

+0

屬性是:位置。每個地址將有一個由其位置屬性命名的唯一模板; app/views/address/1000broadway.html.erb,app/views/address/300main.html.erb所以此外還會有成千上萬的模板,這也可能是一個問題。 – chief 2011-12-31 03:58:39

+0

問題是每個地址都有一組獨特的規範,不能全部放入數據庫字段中。相反,我決定在html中寫出信息並手動將其放入模板中。我知道這可能超出了鐵軌慣例。 – chief 2011-12-31 04:00:54

回答

2

閱讀評論, 這感覺非常像一個CMS類型的問題。

爲此,我會說「對待每一個地址爲‘頁面’,和Chuck在數據庫中的自定義佈局」

但是你看模板過於複雜,處理這種方式。您是否看過liquid? 即,它可以讓你將模板存儲在數據庫中,但使用條件邏輯。

作爲最低限度, 我建議組織你的網站。

resources :address do 
    collection do 
    get :1000broadway 
    get :300main 
    end 
end 
+0

我已決定將所有文本放入數據庫並使用RedCloth進行格式化。 – chief 2011-12-31 05:12:51