[英]Rails 4 routing error 'No route matches [GET] "/project"
我將 Rails 項目移到另一台計算機上,但出現此錯誤:
No route matches [GET] "/project"
Rails.root: /home/user/project
我已經嘗試了一切,但仍然無法正常工作。
我的 routes.rb 如下:
Rails.application.routes.draw do
resources :orders
get 'product_statuses/list'
resources :customers do
resources :shipping_addresses
end
resources :products do
resources :product_details do
resources :product_statuses
end
resources :prices
end
get 'welcome/index'
end
我真的需要幫助:(拜托。
謝謝!
如果您嘗試查看特定產品,則 /product 不是可行的路徑,因為無法識別它。 給定一個 id 為 1 的產品,您定義的路由的工作方式如下:
/products/1
/products/1/edit
您可以通過在資源上提供一個空白路徑來擺脫 /products/ 段,盡管在占用根命名空間時需要注意如下事項:
resources :products, path: '' do
...
end
這將為您提供如下路線:
/1
/1/edit
如果您對 url 中顯示的 id 不滿意,您可以手動編寫這樣的新路由(假設產品具有 name 屬性):
get '/:name', to: 'products#show'
請注意,除非您在 name 屬性上強制執行唯一性,否則這將不起作用。
另一個選項是可以覆蓋顯示的參數並使用您已有的路由:
class Product
def to_param
name.parameterize
end
...
end
這將為您提供如下路線:
/products/foo
/products/darth-vader-marshmallows
值得您花時間在這里查看 Rails 路由文檔: http : //guides.rubyonrails.org/routing.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.