2013-03-18 162 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