2011-11-18 169 views
0

Rails新手问题,我似乎无法弄清楚。在某些时候,我设法在我的应用程序全站范围内从我的一个资源中断开路由。我得到了我的网站上的每一页下面:Rails 3的路由问题

 
Routing Error 

No route matches {:action=>"show", :controller=>"assets", :ext=>"css", :body=>true, :digest=>false, :id=>#} 

如果我删除<%= stylesheet_link_tag“应用程序”%>和<%= javascript_include_tag“应用程序”%>一切正常。

我在route.rb文件中的以下内容:

 
    resources :security_prices 
    resources :securities 
    resources :assets 

    resources :portfolios do 
    resources :accounts 
    end 

,但是当我做了

rake routes

我得到:

 
     security_prices GET /security_prices(.:format)       {:action=>"index", :controller=>"security_prices"} 
         POST /security_prices(.:format)       {:action=>"create", :controller=>"security_prices"} 
    new_security_price GET /security_prices/new(.:format)      {:action=>"new", :controller=>"security_prices"} 
    edit_security_price GET /security_prices/:id/edit(.:format)     {:action=>"edit", :controller=>"security_prices"} 
     security_price GET /security_prices/:id(.:format)      {:action=>"show", :controller=>"security_prices"} 
         PUT /security_prices/:id(.:format)      {:action=>"update", :controller=>"security_prices"} 
         DELETE /security_prices/:id(.:format)      {:action=>"destroy", :controller=>"security_prices"} 
      securities GET /securities(.:format)         {:action=>"index", :controller=>"securities"} 
         POST /securities(.:format)         {:action=>"create", :controller=>"securities"} 
      new_security GET /securities/new(.:format)        {:action=>"new", :controller=>"securities"} 
     edit_security GET /securities/:id/edit(.:format)      {:action=>"edit", :controller=>"securities"} 
       security GET /securities/:id(.:format)        {:action=>"show", :controller=>"securities"} 
         PUT /securities/:id(.:format)        {:action=>"update", :controller=>"securities"} 
         DELETE /securities/:id(.:format)        {:action=>"destroy", :controller=>"securities"} 
    portfolio_accounts GET /portfolios/:portfolio_id/accounts(.:format)   {:action=>"index", :controller=>"accounts"} 
         POST /portfolios/:portfolio_id/accounts(.:format)   {:action=>"create", :controller=>"accounts"} 
new_portfolio_account GET /portfolios/:portfolio_id/accounts/new(.:format)  {:action=>"new", :controller=>"accounts"} 
edit_portfolio_account GET /portfolios/:portfolio_id/accounts/:id/edit(.:format) {:action=>"edit", :controller=>"accounts"} 
    portfolio_account GET /portfolios/:portfolio_id/accounts/:id(.:format)  {:action=>"show", :controller=>"accounts"} 
         PUT /portfolios/:portfolio_id/accounts/:id(.:format)  {:action=>"update", :controller=>"accounts"} 
         DELETE /portfolios/:portfolio_id/accounts/:id(.:format)  {:action=>"destroy", :controller=>"accounts"} 
      portfolios GET /portfolios(.:format)         {:action=>"index", :controller=>"portfolios"} 
         POST /portfolios(.:format)         {:action=>"create", :controller=>"portfolios"} 
     new_portfolio GET /portfolios/new(.:format)        {:action=>"new", :controller=>"portfolios"} 
     edit_portfolio GET /portfolios/:id/edit(.:format)      {:action=>"edit", :controller=>"portfolios"} 
      portfolio GET /portfolios/:id(.:format)        {:action=>"show", :controller=>"portfolios"} 
         PUT /portfolios/:id(.:format)        {:action=>"update", :controller=>"portfolios"} 
         DELETE /portfolios/:id(.:format)        {:action=>"destroy", :controller=>"portfolios"} 
      home_index GET /home/index(.:format)         {:controller=>"home", :action=>"index"} 
        root  /             {:controller=>"home", :action=>"index"} 

这显然不具备这样的资产我怀疑我是在flu something什么东西。我如何去调试呢?

回答

3

routes.rb删除resources :assets钢轨是这样做的,你不需要它的资源!

+0

如果您的资产是CSS和JS,他们的位置是在公开场合,并且他们不需要路线。 – Syl

+0

aaah,所以“资产”是栏杆中的保留字,我应该选择另一个名称? – outside2344

+0

是的,这是用于处理javascript,样式表和图像的“资产管道”。更多这里:http://guides.rubyonrails.org/asset_pipeline.html – davidb