我有以下嵌套的奇異路徑:Rails的嵌套奇異資源路由附加.ID
resources :listings do
resource :logo, only: [ :edit, :update ]
end
它產生預期2條正確路線:
edit_listing_logo GET /listings/:listing_id/logo/edit(.:format) logos#edit
listing_logo PUT /listings/:listing_id/logo(.:format) logos#update
現在,當我重定向到edit_listing_logo_path
redirect_to edit_listing_logo_path(@listing, @logo)
或當我創建更新表格
<%= form_for [ @listing, @logo ] do |f| %>
生成的鏈接在末端附着這樣
/listings/2/logo.1
我不使用,所以它工作正常反應在此應用程序格式尚未
總是奇異資源ID。但是,這個鏈接世代看起來很奇怪,我期望如果使用各種響應格式,它會導致問題。
請注意,這也在這裏討論Rails Nested Singular Resource Routing但我沒有使用'show'路徑。
感謝您的任何輸入。
'編輯'和'顯示'路徑的工作方式相同,因此您在提到的問題中擁有所需的一切! – siekfried
他們爲什麼會以同樣的方式工作? –
對不起,這只是你答案的第一部分:你可以使用'redirect_to edit_listing_logo_path(@listing)',因爲如果你選中這行:'edit_listing_logo GET /listings/:listing_id/logo/edit(.:format)標識#編輯',你可以看到:路徑中不需要logo_id。對於第二部分,您可以添加一個顯示路徑並使用@Bryan Marble答案。 – siekfried