2012-07-31 37 views
1

我在一個奇怪的情況。我有一個在3.1中創建的應用程序。它最近升級到了Rails 3.2.6,這是我第一次開始使用佈局和視圖。 (不要問。我一直在使用控制檯模式,併爲數據庫管理應用程序)應用程序升級到3.2得到的路由錯誤樣式application.css

現在我有一個控制器和一些模型,當我訪問默認頁,一切都很好,但我看到的日誌中出現以下錯誤:

Started GET "/stylesheets/application.css" for 127.0.0.1 at 2012-07-31 13:54:45 -0500 

ActionController::RoutingError (No route matches [GET] "/stylesheets/application.css"): 
    actionpack (3.2.6) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call' 
    actionpack (3.2.6) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call' 
    railties (3.2.6) lib/rails/rack/logger.rb:26:in `call_app' 
    railties (3.2.6) lib/rails/rack/logger.rb:16:in `call' 

'app/assets/stylesheets'中有一個application.css文件。它目前是空白的。

我見過很多其他人問這個問題,但沒有解決方案的/答案似乎適用於我,雖然我不能說這是爲什麼。這裏是我的佈局/ application.html.erb文件看起來像:

<!DOCTYPE html> 
<html> 
<head> 
    <% if current_user %> 
     <title>MY TITLE - <%= current_user.full_name %></title> 
    <% else %> 
     <title>MY TITLE</title> 
    <% end %> 
    <%= stylesheet_link_tag "application", :media => "all" %> 
    <%= javascript_include_tag "application" %> 
    <%= csrf_meta_tags %> 
</head> 
<body> 
<div id="nav_div"> 
    <% if current_user %> 
     Logged in as <%= current_user.name %> (<%= current_user.email %>). 
     <%= link_to "Log Out", logout_path %> 
    <% else %> 
     <%= link_to "Sign Up", signup_path %> or 
     <%= link_to "Log In", login_path %> 
    <% end %> 
</div> 

<div id="flash_div"> 
    <% if flash[:alert] %> 
     <p class="flash-error"><%= flash[:alert] %></p> 
    <% end %> 
    <% if flash[:notice] %> 
     <p class="flash-notice"><%= flash[:notice] %></p> 
    <% end %> 
</div> 

<%= yield %> 

</body> 
</html> 
+1

如果複製會發生什麼/粘貼應用程序。公共/樣式表中的CSS?可能是與資產管道 – 2012-07-31 19:05:24

+0

@AnthonyAlberto問題,有趣的。這讓錯誤消失了。這是一個修復,但? – n8gard 2012-07-31 19:15:52

+0

更多變通方法,除非您不想使用資產管道。如果你想使用它,告訴我什麼是你的環境,對於這個環境,給我您使用的是管道的配置(如config.assets選項。) – 2012-07-31 19:17:42

回答

0

檢查是否有管道在application.rb中開啓:

config.assets.enabled = true