好麻煩部落格

講個秘訣,如何處理在 Rails 網址中的斜線(/)

| Comments

之前在一個暗黑社群中,有位朋友發問了一個問題,是關於如何處理 Rails 中網址的斜線,像是 /a/b/c/d/e,因為 Rails 在一般情況下會以為這是你的 Resource,但為了 SEO 的需求,我們常會把原本預設的 :id 改為 Resource 的標題,但標題中如果有 / 的時候該怎麼辦呢?今天剛好遇到這個情況,想了一下後其實也沒那麼難:

config/routes.rb
1
get 'articles/*title', to: 'articles#show'
articles_controller.rb
1
2
3
def show
  @article = Article.find(params[:title]) # 存取 article/a/b/c/d/e params[:title] 就會變成 "/a/b/c/d/e"
end

Comments