Подтвердить что ты не робот

Параметр отсутствует или значение пусто: user rails 4

Я получаю следующую ошибку, когда я пытаюсь отправить свою регистрационную форму. Параметр отсутствует или значение пусто: пользователь

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

Ниже приведен запрос:

{"utf8"=>"✓",
 "authenticity_token"=>"YX0+4AeWlGWJiQZgbhV9cxi6TUCoibZfwh95BrK9iCQ=",
 "name"=>"asasa",
 "email"=>"[email protected]",
 "password"=>"[FILTERED]",
 "confirm_password"=>"[FILTERED]",
 "commit"=>"Register"}

Ниже мой взгляд

<%= form_tag users_path, class: "form-horizontal", id: "signupform" do %>

<%= end %>
4b9b3361

Ответ 1

там нет params[:user], что то, что говорит вам ошибка. Возможно, вы ожидаете, что ваши параметры будут выглядеть так?

{"utf8"=>"✓",
 "authenticity_token"=>"YX0+4AeWlGWJiQZgbhV9cxi6TUCoibZfwh95BrK9iCQ=",
 "user" => {"name"=>"asasa",
            "email"=>"[email protected]",
            "password"=>"[FILTERED]",
            "confirm_password"=>"[FILTERED]"
 },"commit"=>"Register"}

(я добавил несколько отступов, чтобы выделить структуру).

Если да, тогда вам нужно изменить форму, в которой были представлены эти параметры. Либо используйте form_for @user, который автоматически установит атрибуты входных тегов name на user[name], user[email] и т.д. Или вручную задает имена полей самостоятельно, user[name] и т.д.