今天來微微的介紹一個在 Route 裡面微人覺得很好用的方法
用一句話說明就是:自動產生一系列的路徑
會不會說的太簡單?沒錯,就是那麼簡單,在 Rails 中使用 resources 這個複數是?沒什麼原因只是慣列而以,“慣例優於設定” 還記得這麼一句精髓吧?resources 會自動產生 [:index, :show, :new, :create, :edit, :update, :destroy]所有路徑,但也是可以搭配 only: 或 except: 來篩選路徑。
就像這裡我們用 resources 來建立 followships 這個路徑, 然後只須建立 :show, :create, :destroy 這三個頁面。
resources 其實也是可以很彈性的使用:
resources :cart, only:[:show, :destroy] do
collection do
post :add, path:'add/:id'
get :payment
post :checkout
end
end
嵌套資源這也是很常見的做法,嵌套資源也可以放在其它的嵌套資源裡,像這裡是建立只有 :show, :destroy 的 cart 的路徑,並且希望在這個路徑當中用 collection 方法,建立訂單狀態的路徑。路徑顯示:
但使用請注意,嵌套資源永遠不要超過 1 層,因為多層嵌套會變得很難處理,而且路徑不美觀。
有些東西適合一層一層的如這個蛋糕!!
當然,程式碼就千萬不要囉!今天就先聊到這吧!我們明天見,掰餔。