我有一个深度为1代的Page模型。我怎样才能做我的路线
/约
/约/领导
/左右/视觉和任务
/接触
/加入
/加入/益处
工作?
slug来自friendly_id插件,并且都是独一无二的。
答案 0 :(得分:0)
路线尽头:
map.with_options :controller => 'pages' do |pages|
pages.show_page ':id', :action => 'show'
pages.show_page_with_parent ':id/:parent_id', :action => 'show'
end
如果您想要生成指向它的链接:
show_page_with_parent_path(:id => page.name, :parent_id => page.parent.name)
当然,假设slug键是名称。
当然,您可以使用辅助函数进一步自定义此解决方案:
EG:
def custom_show_page_path(page)
if page.parent.nil?
show_page_path(:id => page.name)
else
show_page_with_parent_path(:id => page.name, :parent_id => page.parent.name)
end
end