ruby-on-rails – rails app’ininitialized constant HomeContr
发布时间:2020-12-17 03:29:06 所属栏目:百科 来源:网络整理
导读:我是使用基础的新手,我使用脚手架创建了简单的帖子应用程序 我已经完成了以下步骤: rails new blog 然后在Gemfile中添加了以下内容 gem 'foundation-rails'group :development do gem 'rails_layout'end 然后 $bundle install$rails generate layout:instal
我是使用基础的新手,我使用脚手架创建了简单的帖子应用程序
我已经完成了以下步骤: rails new blog 然后在Gemfile中添加了以下内容 gem 'foundation-rails' group :development do gem 'rails_layout' end 然后 $bundle install $rails generate layout:install foundation5 --force $rails g scaffold Post title desc:text $rake db:migrate 现在app运行良好@本地主机端口3000 /帖子 但是当我点击导航栏中的“主页”按钮时,它会产生错误: application.html.erb文件: <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width,initial-scale=1.0"> <title><%= content_for?(:title) ? yield(:title) : "Found Rails" %></title> <meta name="description" content="<%= content_for?(:description) ? yield(:description) : "Found Rails" %>"> <%= stylesheet_link_tag 'application',media: 'all','data-turbolinks-track' => true %> <%# Modernizr is required for Zurb Foundation %> <%= javascript_include_tag 'vendor/modernizr' %> <%= javascript_include_tag 'application','data-turbolinks-track' => true %> <%= csrf_meta_tags %> </head> <body> <header> <%= render 'layouts/navigation' %> </header> <main role="main"> <%= render 'layouts/messages' %> <%= yield %> </main> </body> </html> _navigation.html.erb文件: <%# navigation styled for Zurb Foundation 5 %> <nav class="top-bar" data-topbar> <ul class="title-area"> <li class="name"><%= link_to 'Home',root_path %></li> <li class="toggle-topbar menu-icon"><a href="#">Menu</a></li> </ul> <div class="top-bar-section"> <ul> <%= render 'layouts/navigation_links' %> </ul> </div> </nav> 我的routes.rb文件: Rails.application.routes.draw do resources :posts root :to => "home#index" # The priority is based upon order of creation: first created -> highest priority. # See how all your routes lay out with "rake routes". # You can have the root of your site routed with "root" # root 'welcome#index' # Example of regular route: # get 'products/:id' => 'catalog#view' # Example of named route that can be invoked with purchase_url(id: product.id) # get 'products/:id/purchase' => 'catalog#purchase',as: :purchase # Example resource route (maps HTTP verbs to controller actions automatically): # resources :products # Example resource route with options: # resources :products do # member do # get 'short' # post 'toggle' # end # # collection do # get 'sold' # end # end # Example resource route with sub-resources: # resources :products do # resources :comments,:sales # resource :seller # end # Example resource route with more complex sub-resources: # resources :products do # resources :comments # resources :sales do # get 'recent',on: :collection # end # end # Example resource route with concerns: # concern :toggleable do # post 'toggle' # end # resources :posts,concerns: :toggleable # resources :photos,concerns: :toggleable # Example resource route within a namespace: # namespace :admin do # # Directs /admin/products/* to Admin::ProductsController # # (app/controllers/admin/products_controller.rb) # resources :products # end end 我错过了什么? 解决方法
你的问题是这一行:
root :to => "home#index" 在routes.rb文件中. 这告诉您的应用程序根URL(因此http://:3000 / URL)应该查找名为“home”的控制器,其中包含一个动作“index”. 为此,您需要在app / controllers文件夹中有一个HomeController.rb,并在其中有一个def为’index’. 我建议运行此命令 rails generate controller home index 生成家庭控制器.在运行scaffold命令之前,许多教程都会为您提供此行. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |