簡體   English   中英

(Ruby on Rails)在routes.rb中構建URL

[英](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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM