![](/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.