簡體   English   中英

參數丟失或值為空:用戶錯誤

[英]param is missing or the value is empty:user error

在我的注冊表單中,出現以下錯誤:

參數丟失或值為空:用戶

控制器:

class UsersController < ApplicationController

  def new
    @user = User.new(user_params)

  end

  def create 
    @user = User.new(params[:user])
    if @user.save
        redirect_to root_url, :notice => "Signed up!"
    else
        render "new"
    end
  end


  private
  def user_params
    params.require(:user).permit(:email,:password)
  end
end

視圖:

<%= form_for @user do |f| %>
    <p>
        <%= f.label :email %><br/>
        <%= f.text_field :email %>
    </p>
    <p>
        <%= f.label :password %><br/>
        <%= f.password_field :password %>
    </p>
    <p>
        <%= f.label :password_conformation %><br/>
        <%= f.password_field :password_conformation %>
    </p>

<p class="button"><%= f.submit %></p>

<%end%>

已經從這里這里嘗試過建議。 刪除user_params調用正在create方法中創建ActiveModel :: ForbiddenAttributesError錯誤。

您在new操作中沒有params[:user] ,因此會出現錯誤。

像這樣重寫new

def new
  @user = User.new
end

就像@Pavan建議的那樣,您還應該在create方法中進行更改:

def create 
   @user = User.new(user_params)
   ...
end

在這里,您將params[:user]更改為user_params

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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