Да, по крайней мере для Devise 2.0 вам нужно username
в вашей базе данных, если вы хотите его сохранить.
Создать миграцию - это добавит скрипт для создания поля имени пользователя в вашей пользовательской таблице. Выполните следующее из своего терминала.
$ rails generate migration add_username_to_user username:string
перспективе миграция (опять же из терминала)
$ rake db:migrate
После этого ваша user
таблица будет иметь username
поле добавил к нему.
Затем вам нужно будет отредактировать представления Devise, чтобы пользователи могли зарегистрироваться с именем пользователя. Для этого взгляните на раздел «Настройка видов» на github Devise page
Но в основном для создания представлений разработки необходимо запустить следующее: по умолчанию они хранятся в модуле разработки, поэтому вы не видите их на диске)
$ 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
Тебе повезло, что я только что сделал это вчера, так что я помню все шаги :)
Спасибо! Мне очень повезло. Привет, но у меня проблема в new.html.erb. Я сделал это: '
<%= f.username_field :username %>
Ничего, сделайте это с помощью' f.text_field'. Благодаря! – alexchenco