2013-03-18 160 views
1

我通過學習這本書之後,開發Rails應用程序:​​ 目前我在第6章錯誤產生

這一切都很好,直到我想退房的應用使用'rails s'命令。 運行命令後,我得到了以下錯誤:

'default_controller_and_action': missing :action (ArgumentError) 

我這個問題早些時候曾和糾正「routes.rb中」錯誤解決它。 但我不能夠解決這個時候;(

的routes.rb

SampleApp::Application.routes.draw do 

    get "users/new" 

    root to: 'static_pages#home' 

    match '/signup', to: 'users#new' 

    match '/home', to: 'static_pages#home' 

    match '/help', to: 'static_pages#help' 

    match '/about', to: 'static_pages#about' 

    match '/contact', to: 'static_pages#' 

end 

application.html.erb

<!DOCTYPE html> 
    <html> 
     <head> 
     <title><%= full_title(yield(:title)) %></title> 
     <%= stylesheet_link_tag "application", media: "all" %> 
     <%= javascript_include_tag "application" %> 
     <%= csrf_meta_tags %> 
     <%= render 'layouts/shim' %> 

    </head> 
     <body> 
     <%= render 'layouts/header' %> 
     <div class="container"> 
      <%= yield %> 
      <%= render 'layouts/footer' %> 
      <%= debug(params) if Rails.env.development? %> 
     </div> 
     </body> 
    </html> 

_header.html.erb

<header class="navbar navbar-fixed-top navbar-inverse"> 
    <div class="navbar-inner"> 
    <div class="container"> 
     <%= link_to "sample app", root_path, id: "logo" %> 
     <nav> 
     <ul class="nav pull-right"> 
      <li><%= link_to "Home", root_path %></li> 
      <li><%= link_to "Help", help_path %></li> 
      <li><%= link_to "Sign in", '#' %></li> 
     </ul> 
     </nav> 
    </div> 
    </div> 
</header> 

_footer.html.erb

<footer class="footer"> 
    <nav> 
    <ul> 
     <li><%= link_to "About", about_path %></li> 
     <li><%= link_to "Contact", contact_path %></li> 
     <li><a href="#/">News</a></li> 
    </ul> 
    </nav> 
</footer> 

我希望有人能幫助我解決這個問題! :)

在此先感謝!

回答

4
match '/contact', to: 'static_pages#' 

缺少一個操作。

它的形式'controller#action'。在這種情況下,您只提供控制器,但缺少操作名稱。

如果在教程的這個部分你還尚未建立聯繫的行動,你可以註釋此行,直到你創建它,或現在爲它創建一個控制器。

在第一種情況下,代碼將

# match '/contact', to: 'static_pages#' 

在第二種情況下,它會插入

# app/controllers/static_pages_controller.rb 
... 
def contact 
end 

而在/app/views/static_pages/contact.html.erb

+0

創建佈局這解決需要我問題,謝謝你的快速反應! – 2013-03-18 21:35:25