......这是有道理的。我在自定义CMS中使用捕获所有路由进行页面路由。不过,我仍然想在我的公用文件夹中访问用户上传的资源。我的路线如下:Rails抓住所有路线阻止访问公共文件夹
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。 – tadman 2013-03-19 15:51:32
但他们似乎并没有..我试图访问/public/images/dinner.jpeg时仍然击中控制器,例如 – Pierre 2013-03-19 15:52:43
@tadman哦,我的坏,我不应该公开在URL中。访问/images/dinner.jpeg可以正常工作。如果您将答案写为答案,我会接受它。 – Pierre 2013-03-19 16:08:16