我相信现在已经尝试找到错误了几天,但我无法弄清楚。我总是收到错误“ nil:NilClass的未定义方法'model_name'”。下面是我正在使用的代码。
视图:
= simple_form_for @new_user do |f|
= f.input :first_name
= f.input :last_name
= f.input :email, required: false
= f.input :phone_number
= f.button :submit
控制器:
def create
if params[:user].present?
@new_user = User.new(user_params)
if @new_user.first_name.nil?
@new_user.first_name = ""
end
if @new_user.last_name.nil?
@new_user.last_name = ""
end
if @new_user.email.nil?
@new_user.email = ""
end
if @new_user.save
redirect_to 'index'
else
reder 'create'
end
end
end
private
def user_params
params.require(:user).permit(:first_name, :last_name, :email, :phone_number)
end
路线:
resources :user
root 'users#welcome'
get '/create' => 'users#create'
get '/welcome' => 'users#welcome'
get '/index' => 'users#index'
SQL表:
CREATE TABLE IF NOT EXISTS users
(
id serial not null
constraint users_pkey
primary key,
created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL,
updated_at TIMESTAMP WITHOUT TIME ZONE NOT NULL,
deleted_at TIMESTAMP WITHOUT TIME ZONE,
email VARCHAR NOT NULL,
first_name VARCHAR NOT NULL,
last_name VARCHAR NOT NULL,
phone_number VARCHAR
);
我不熟悉Rails,所以如果有人能发现错误,我将不胜感激。
您的控制器中有一个错字“重发器”。您可以共享提交表单时得到的确切错误消息或错误跟踪吗?此外,提交表格后,您是否可以验证是否在数据库中创建了记录?