簡體   English   中英

Ruby on Rails-Hartl教程第7章-無法為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM