![](/img/trans.png)
[英]Michael Hartl Rails Tutorial chapter 7 error Action not found in UsersController
[英]Ruby on Rails - Hartl Tutorial Chapter 7 - The action 'index' could not be found for UsersController
我是Ruby on Rails的新手,所以我正在关注Michael Hartl的Ruby on Rails教程,并且遇到了一个问题。
在第7章的第1节中,应该显示用户页面,但是我遇到了此错误:
“找不到UsersController的动作'index'”
当我尝试转到“ localhost:3000 / users”时
我不确定我需要包括哪些信息,所以这里有一些信息,如果需要更多信息,请告诉我。 我会很感激我能得到的任何帮助。 我确实在这里查找了类似的问题,但是没有一个问题对我有帮助。
这是我的routes.rb
Rails.application.routes.draw do
root 'static_pages#home'
get 'help' => 'static_pages#help'
get 'about' => 'static_pages#about'
get 'contact' => 'static_pages#contact'
get 'signup' => 'users#new'
resources :users
end
users_controller.rb
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
def new
end
end
show.html.erb
<%= @user.name %>, <%= @user.email %>
我已经对本教程中的代码进行了仔细检查,但似乎找不到任何区别。 我能想到的唯一问题可能是当它要求我创建show.html.erb时,我右键单击并在我的在线IDE(本教程建议的Cloud 9.io)中单击“创建文件”。 Hartl只是说您必须手动创建它,所以我认为这就是他的意思。 再次,任何帮助将不胜感激。 谢谢。
您只需要一个索引的地标,就可以在两个文件中完成。 答案在第9章的书中,这是您的工作。
首先,在users_controller.rb中,添加以下内容:
def index
@users = User.all
end
接下来,创建文件app / views / users / index.html.erb并将其添加
<% provide(:title, 'All users') %>
<h1>All Users</h1>
本书稍后将做更多工作,但是为了继续进行而没有任何愚蠢,不必要的错误,这就足够了。
您需要向控制器添加索引操作。
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
def new
end
def index
@users = User.all
end
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.