Моя страница с сообщением об ошибке сообщает мне, что «параметр отсутствует или значение пуст: пользователь» и ссылается на мой частный метод user_params и мое действие в качестве виновников. Он также показывает, что все параметры, которые я передаю, получают от созданного сообщения.ActionController :: ParameterMissing in UsersController # create
сокращенная Контроллер:
def new
@user = User.new
end
def create
@user = User.new(user_params)
@user.save
redirect_to @user
end
private
def set_user
@user = User.find(params[:id])
end
def user_params
params.require(:user).permit(:first_name, :last_name, :email)
end
Мой form_tag, что инициирует создание пост:
= form_tag @user do
.form-group
= label_tag :first_name, nil, class: 'col-md-2'
= text_field_tag :first_name, nil, class: 'col-md-3'
%br
.form-group
= label_tag :last_name, nil, class: 'col-md-2'
= text_field_tag :last_name, nil, class: 'col-md-3'
%br
.form-group
= label_tag :email, nil, class: 'col-md-2'
= email_field_tag :email, nil, class: 'col-md-3'
%br
.actions.form-group
= submit_tag 'Submit', class: 'btn btn-primary col-md-offset-2'
в то время как @BroiSatse дает решение, причиной являются параметры, которые вы получаете, не вложены в хэш-файл ': user', то есть' params [: user] 'пуст. Потому что в html ваши имена ввода не похожи на 'user [email]' и т. Д. ... – apneadiving