ruby-on-rails – Rails捕获所有路由阻止访问公用文件夹
发布时间:2020-12-17 02:38:14 所属栏目:百科 来源:网络整理
导读:……这很有道理.我在自定义CMS中使用catch all route进行页面路由.但是我仍然想在我的公共文件夹中访问用户上传的资源.我的路线如下: match "(*url)" = 'pages#show' 我的控制器这样做: def show @page = Page.where(:url = ['/',params[:url]].join).firs
……这很有道理.我在自定义CMS中使用catch all route进行页面路由.但是我仍然想在我的公共文件夹中访问用户上传的资源.我的路线如下:
match "(*url)" => 'pages#show' 我的控制器这样做: def show @page = Page.where(:url => ['/',params[:url]].join).first begin render :template => "templates/" + @page.template.slug rescue render "public/404.html" end end 现在我知道我可以解析我的控制器中的url但是我想知道是否有更好的rails方式 – 例如,我可以在catch所有路由中添加一个异常吗? 思考? 解决方法
如果正确配置了服务器,通常静态文件将优先于Rails生成的内容.
注意不要将相对于应用程序的路径(例如/public/images/test.png)与相对于Web根目录的路径混淆,后者是/images/test.png.这种相互冲突的“路径”定义让很多开发人员感到困惑. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |