...それは理にかなっています。カスタム CMS でページ ルーティングに catch all ルートを使用しています。ただし、パブリック フォルダーにあるユーザーがアップロードしたアセットには引き続きアクセスしたいと考えています。私のルートは次のとおりです。
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 を解析できることがわかりましたが、より良いレールの方法があるかどうか疑問に思っていました。たとえば、キャッチオールルートに例外を追加できますか?
考え?