Ruby on rails NoMethodError-未定义的方法`集合';

Ruby on rails NoMethodError-未定义的方法`集合';,ruby-on-rails,Ruby On Rails,嗨,当我试图显示数据库中的第一个用户时,我遇到了这个NoMethodError。我的用户控制器如下: class UsersController < ApplicationController before_action :set_, only: [:show, :edit, :update, :destroy] # GET /users # GET /users.json def index @users = User.all end # GET /u

嗨,当我试图显示数据库中的第一个用户时,我遇到了这个NoMethodError。我的用户控制器如下:

class UsersController < ApplicationController
  before_action :set_, only: [:show, :edit, :update, :destroy]

  # GET /users
  # GET /users.json
  def index
    @users = User.all
  end

  # GET /users/1
  # GET /users/1.json
  def show
    @user = User.find(params[:id])
  end

  # GET /users/new
  def new
    @user = User.new
  end

  # GET /users/1/edit
  def edit
  end

  # POST /users
  # POST /users.json
  def create
    @user = User.new(user_params)

    respond_to do |format|
  if @user.save
    format.html { redirect_to @user, notice: 'User was successfully created.' }
    format.json { render :show, status: :created, location: @user }
  else
    format.html { render :new }
    format.json { render json: @user.errors, status: :unprocessable_entity }
  end
end
end

  # PATCH/PUT /users/1
  # PATCH/PUT /users/1.json
  def update
    respond_to do |format|
      if @users.update(user_params)
        format.html { redirect_to @user, notice: 'User was successfully 
updated.' }
        format.json { render :show, status: :ok, location: @user }
      else
        format.html { render :edit }
        format.json { render json: @user.errors, status: :unprocessable_entity }
  end
end
end

  # DELETE /users/1
  # DELETE /users/1.json
  def destroy
    @user.destroy
    respond_to do |format|
      format.html { redirect_to users_url, notice: 'User was successfully 
destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_user
      @user = User.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white 
list through.
def user_params
  params.require(:user).permit(:name, :email)
end
end
class UsersController
我的视图/用户/显示基本上只打印用户名和电子邮件

<%= @user.name %><% @user.email %>

修复此问题

before_action :set_

NoMethodError-未定义的方法“set_”

错误来自

before_action :set_, only: [:show, :edit, :update, :destroy]
可能您的意思是将这一行替换为

before_action :set_, only: [:show, :edit, :update, :destroy]
这个


我猜您粘贴到这里的代码中有两个错误

before_action :set_user, only: [:show, :edit, :update, :destroy]
在“update”方法中,对象是“@user”,而不是“@users”。请换

@users.update(user_params)


只是行动前的
中有输入错误
before_action :set_user, only: [:show, :edit, :update, :destroy]
@users.update(user_params)
@user.update(user_params)