2015-11-25 129 views
-1

我感动我的Rails项目到另一台计算机,我收到此错误:导轨4路由错误“无路由匹配[GET]‘/项目’

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 

我真的需要帮助:(请

感谢

+2

您没有'/ project'路由。你在什么时候得到错误? –

回答

1

如果你想查看某个产品/产品如果给定的产品id为1,则您定义的路线如下所示:

/products/1 
/products/1/edit 

可以通过提供对资源的空白路径摆脱/产品/段,虽然有一些事情要注意占据根命名空间这样的时候:

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