Да, по крайней мере для Devise 2.0 вам нужно username
в вашей базе данных, если вы хотите сохранить его.
Создать миграцию - это добавит скрипт для создания поля имени пользователя в вашей пользовательской таблице. Запустите следующее из вашего терминала.
$ rails generate migration add_username_to_user username:string
запустить миграцию (снова из терминала)
$ rake db:migrate
После этого к вашей таблице user
будет добавлено поле username
.
Затем вам нужно отредактировать представления Devise, чтобы пользователи могли зарегистрироваться под именем пользователя. Для этого взгляните на раздел «Настройка представлений» на github Страница разработки
Но, в основном, выполните следующее, чтобы создать представления devise (по умолчанию они хранятся в движке devise, поэтому вы не видите их на диске)
$ rails generate devise:views
Затем войдите и отредактируйте соответствующий файл вида. Для регистрации это
app/views/devise/registrations/new.html.erb
Вы также захотите показать имя пользователя на их странице редактирования. Это под
app/views/devise/registrations/edit.html.erb
Вам нужно будет добавить current_user.username
где-нибудь в этом «редактируемом» виде. Но вы получите сообщение о том, что у вас нет доступа к username
, поэтому сделайте его доступным атрибутом
# User.rb - this is your user model
attr_accessible :username
Тебе повезло, я только что сделал это вчера, поэтому я помню все шаги:)