[英]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.