加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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.这种相互冲突的“路径”定义让很多开发人员感到困惑.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读