[英](Ruby on Rails) Building a URL in routes.rb
我是Rails的新手,所以在這里忍受。 我正在嘗試建立以下URL:
localhost:3000/products/toyota
因此,主頁(當我在本地運行項目時,localhost:3000)和產品頁面(localhost:3000 / products)已經存在,但是我試圖創建一個豐田頁面(localhost:3000 / products / toyota)。 Toyota頁面具有獨立於產品頁面的自己的視圖(haml頁面/ javascript)。
所以,我在config / routes.rb中嘗試過
get 'toyota', to: 'static#products#toyota'
但是toyota_url將我帶到localhost:3000 / toyota,而不是localhost:3000 / products / toyota。
有想法該怎么解決這個嗎?
你需要這個
get '/products/toyota', to: 'static#products#toyota', as: 'toyota'
希望有幫助!
如評論中所述:它get 'my/full/path', to: ....
因此,請嘗試get 'products/toyota', to: 'static#products#toyota', :as => 'toyota'
但是,我建議以下內容。 為了使其更加靈活-我假設您還將擁有其他供應商/產品,請執行以下操作:
路線:
get 'products/:vendor', to: 'products#vendor'
控制器:
def vendor(id)
@car_or_whatever = Product.find_by(....)
end
視圖:
# file views/products/vendor.html.erb
<some fancy html>
@car_or_whatever.name
... etc
來自文檔: http : //guides.rubyonrails.org/routing.html#generating-paths-and-urls-from-code
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.