Я новичок в Rails и застрял, пытаясь настроить регистрацию в моем приложении rails, используя devise gem. Когда я создаю пользователя, появляется следующая ошибка:
ArgumentError в UsersController # create
слишком мало аргументов
но пользователь все еще успешно создан и добавлен в БД.
Это мой файл route.rb:
resources :users
devise_for :users
root to: 'static_pages#home'
get '/signup', to: 'users#new'
Функция создания в users_controller.rb:
@user = User.new(user_params)
if @user.save
format.html { redirect_to user_session_url(@user), notice: 'User was successfully created.' }
format.json { render :show, status: :created, location: @user }
else
render 'new'
end
end
До сих пор я заметил, что когда я меняю строки ресурсов: пользователи с devise_for: пользователи, он не выдает ошибку, но при перечислении всех пользователей он сохраняет только те письма и пароль, которые требуются devise, а не другие данные пользователя, такие как имя, фамилия и т. д.
Это мой файл User.rb:
class User < ApplicationRecord
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable
validates :name, presence: true, length: {minimum:2, maximum:20}
validates :last_name, presence: true, length: {minimum:2, maximum:20}
end