我将我的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
我真的需要帮助:(请。
谢谢!
答案 0 :(得分:1)
如果您正在尝试查看特定产品,/产品不是可行的路线,因为无法识别它。给定id为1的产品,您定义的路由的工作方式如下:
/products/1
/products/1/edit
您可以通过在资源上提供空白路径来删除/ products / segment,尽管在占用根命名空间时需要注意以下事项:
resources :products, path: '' do
...
end
这将为您提供如下路线:
/1
/1/edit
如果您对网址中显示的ID不满意,您可以手动编写这样的新路由(假设产品具有名称属性):
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