我目前有三个级别的页面,第一级,第二级和第三级。他们每个都有一个参考,例如:
/firstlevel
/firstlevel/secondlevel
/firstlevel/secondlevel/thirdlevel
每个第三级页面仅链接到一个第二级页面,而每个第二级页面仅链接到一个第一级页面。但是,此时,您可以输入任何第一个第二个和第三个参考,第三个级别的页面仍会显示。我需要在某处进行一些验证,以便只有一种方法可以进入第三级页面;通过使用正确的第一级和第二级引用。
这是我在路线文件中的内容:
match "/:reference" => "service#firstlevel"
match "/:reference/:reference" => "service#secondlevel"
match "/:reference/:reference/:reference" => "service#thirdlevel"
答案 0 :(得分:0)
这将为您/公司/人员/工作
resource :companies do
resource :people do
resource :jobs
end
end
在您的路线
答案 1 :(得分:0)
为每种方法添加到我的控制器中:
if request.fullpath == ("/#{@s.firstlevel.reference}/#{@s.reference}")
else
render :action => "error404"
可能不是最好的做事方式。