2012-03-01 3 views
0

Я добавил драгоценный камень Devise к рубину на rails app версии 1.8.7. Я использую devess для аутентификации, а также создал модель под названием user, которая будет подключаться к другой базе данных, я упомянул/задал конфигурации базы данных в create_connection, всякий раз, когда я запускаю приложение на локальном хосте, я получаю это сообщение об ошибкеNoMethodError в Devise :: RegistrationsController # create

"undefined method` password_salt = 'for # " Как только я зарегистрирую новый член, я получаю эту ошибку.

Я новичок рельсам,

Пожалуйста, помогите мне

+0

ruby ​​v 1.8.7 Я предполагаю, что вы говорите выше, рельсы версии 3 что-то? –

+0

@Alex Marchant: yup ruby ​​1.8.7 и rails 3.2.0 –

ответ

1

я имел эту ошибку однажды, попробуйте следующее

1.Re-запускать миграцию снова

rake db:migrate VERSION=0 #to rollback migrations to the first one if needed<br /> 

Только в случае, если вы забыли, раскомментируйте следующую строку

t.string :password_salt 

опишите, пожалуйста, перенаправить базу данных

rake db:migrate 

Также убедитесь, что encryptable добавляется к вашей модели базы данных

devise :encryptable ..... 

2.Update вашему Разрабатывает гем

обновление расслоения или указать в файле гем использовать последнюю DEViSE камень 2.x

+0

Спасибо большое @Hishalv, теперь он работает отлично. –

+0

@JeevanDongre Рад помочь, был ли ваш драгоценный камень устаревшим? – Hishalv

+0

Нет, я не знал об откате, хотя я удалил комментарий password_salt. –

0

Вам нужно будет добавить password_salt столбец в таблице пользователей. Кажется, он отсутствует.

+0

Я добавил столбец password_salt в таблицу users, но все же я получаю ту же ошибку –

Смежные вопросы