我的一些客戶希望爲Rails中的某些頁面創建別名。下面顯示這種別名的一個例子:在Rails中動態創建路由別名3
match '/events_nl' => 'pages#show', :defaults => { :id => '1' , :locale => "nl"}
我們正在使用的軌道管理等什麼,如果我創建一個表,用於手動別名創建領域:
- 別名
- 控制器
- ID
- 區域
有些模型已經在表格中有一個別名,我們稱它爲model Page。型號頁有一個字段別名是有可能做這樣的事情在路線:
pages_with_alias = Page.find_all_by_alias(true)
pages_with_alias.each do page
match page.alias , :to "pages#show", :defaults => { :id => page.id , :locale => page.locale}
end
問題: 我只是在尋找最像鋼軌這樣的方式。
我知道這只是僞代碼,但保持一致 - 一個子句使用'where(id:foo).first',另一個使用'find_by_id!' - 第一個可能只返回nil,渲染時會爆炸視圖。 – sevenseacat
@sevenseacat修復它。 – Vinozio