Я пытаюсь создать приложение для рельсов, в котором есть два типа пользователей (игрок и админ), но разрешает только регистрацию игроков. Я не могу заставить регистрацию работать и получать ошибку «Тип не может быть пустым» при попытке вставить в базу данных.Добавить пользовательский тип в Rails Регистрация пользователя
UsersController < ApplicationController
def new
@player = Player.new
@player.type = 'Player'
end
def create
@player = Player.new(params[:player])
@player.type = 'Player'
if @player.save
redirect_to @player
else
render 'new'
end
My/signup позволяет пользователю отправлять e-mail и пароль. Вставки SQL работает в панели администратора и выглядит как
SQL (0.3ms) INSERT INTO "users" ("type", "email", "city", "display_name", "tags", "game_id", "affiliation", "encrypted_password", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [["type", "Player"], ["email", "d"], ["city", ""], ["display_name", "d"], ["tags", ""], ["game_id", 1], ["affiliation", ""], ["encrypted_password", "$2a$10$AfuUFDjJRnoAl2fL3MGfNO9AEve.YNGNSp2SUhpfOiV6KuXuve2qC"], ["created_at", "2015-12-21 02:04:33.485089"], ["updated_at", "2015-12-21 02:04:33.485089"]]
Так что я пытаюсь разрешить вставку только типов игроков.
Спасибо!
Отлично! Является ли мой синтаксис правильным для добавления в поле типа? Мой SQL теперь SQL (0.3ms) INSERT INTO "users" ("email", "encrypted_password", "created_at", "updated_at") VALUES (?,?,?,?) [["Email", " «cccccc»], [«encrypted_password», «$ 2a $ 10 $ 49GeV1gRDExnrbpbG25CIOdgbHtMrrdtRYYzKRXtEW33y06VWftCa»], ["created_at", "2015-12-21 03: 12: 17.655950"], ["updated_at", "2015-12-21 03 : 12: 17.655950 "]] – 0xc0ff33
Похоже, вы больше не сохраняете' type'. Можете ли вы показать свою модель и последний код контроллера? –
Да, это нормально. –