我有一個路線文件(滑軌4.0.4應用程序):軌道4嵌套資源路由錯誤
resources :products do
resources :variants, except: :index
end
耙路線給出:
product_variants POST /products/:product_id/variants(.:format) variants#create
new_product_variant GET /products/:product_id/variants/new(.:format) variants#new
edit_product_variant GET /products/:product_id/variants/:id/edit(.:format) variants#edit
product_variant GET /products/:product_id/variants/:id(.:format) variants#show
PATCH /products/:product_id/variants/:id(.:format) variants#update
PUT /products/:product_id/variants/:id(.:format) variants#update
DELETE /products/:product_id/variants/:id(.:format) variants#destroy
所以我用
提議<%= form_for [@product, @variant] do |f| %>
但是這會產生(注意URL):
<form accept-charset="UTF-8" action="/variants/1" class="edit_variant" id="edit_variant_1" method="post">
我也得到(當然)路由錯誤說沒有路由與PATCH匹配/變/ 1
同樣奇怪的行爲時,我重定向到一個API控制下API/活的命名空間:
redirect_to [:api, @product, @variant]
拉去:沒有路由與/ API匹配/變/ 1
所以:
- 我檢查了所有的路線
- 我知道如何巢資源和命名空間他們
- 我想我知道如何生成URL的;-)
不知何故,@products被忽略時產生網址
有沒有人有線索在哪裏尋找更進一步?
您可以確認'@ product'變量不是零。 – Magnuss