我的一些客户希望为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