分享

[Rails] [note]Routes 設計複雜的URL

林班尼

·Nov 8, 2020

在rails 中 .透過 routesrb 設計
目標是建立 https://127.0.0.1:3000/categories/1/subcategories/9/products
首先是透過 rails g controller categories
產生如下檔案
並在view 下建立 categories/flower_products.html.erb的檔案
然後在 config/routes.rb
加入
resources :categories
可以產生以下路徑
但是無法達到 https://127.0.0.1:3000/categories/1/flower_products
有兩個方法可以使用如下
使用 collection
將config/routes.rb 改為 resources :categories
resources :categories do
collection do
get :flower_products
end
end
但是這個方法只能進入https://127.0.0.1:3000/categories/flower_products
卻無法進入https://127.0.0.1:3000/categories/1/flower_products
所以改用 member
resources :categories do
member do
get :flower_products
end
end
就可以進入https://127.0.0.1:3000/categories/1/flower_products
接著建立 subcategories 的controller
並在view 下建立 subcategories/flower_products.html.erb的檔案
然後在 config/routes.rb 加入
這樣雖然成功了,但是我們使其中斷
Parameters:
  

{"id"=>"4"}

id 重覆了 然後還被 subcategories id 給覆蓋了
因此將routes.rb改為
就可以修正這個問題了
分類:學習

評論
上一篇
  • HTML Day1
  • 下一篇
  • [Rails][筆記]  Action Text Overview 建立一個編輯器
  • 更多文章
    載入中... 沒有更多了