Как вручную добавить пользователя в приложение rails?

Мне поручили работать над унаследованным Rails-приложением, и никто не имеет работающей среды разработки. Я получил все и работает, но я не могу создать нового пользователя в моей среде разработки, потому что API Facebook не нравится вызов API, исходящий с IP-адреса, который не является рабочим сервером, и почтовой программой для Время регистрации не в Facebook истекло по той же причине. Я сузил это до пары вариантов:

  • Выясните, как заставить API Facebook принять запрос из моей коробки разработки.
  • Исправьте почтовую программу или оберните ее условно, чтобы в среде разработки не требовалось подтверждение по электронной почте.
  • Добавить пользователя в базу данных вручную

Какой вариант лучше, и как мне поступить? Я относительно новичок в рельсах и бэкэнд-программировании. Варианты один и два кажутся потенциальными угрозами безопасности, но я понятия не имею, как поступить с вариантом 3. Я попытался добавить User.create([{email: '(redacted)'}, {password: '(redacted)'}]) в файл seed.rb и без проблем запустить db:seed.

Предложения?

1 ответ

Ваш самый простой вариант - создать нового пользователя вручную. Вместо запуска вашего сервера rails ($ rails s), запустите вашу консоль рельсов ($ rails c). Из этой командной строки (которая идентична отладчику, если вы когда-либо использовали это раньше), вы можете создать пользователя и сохранить его. Вы по-прежнему будете подвергаться проверкам в модели User, но что-то вроде следующего должно работать:

new_user = User.new( email: 'myemail@example.com', name: 'Joe Smith' )
new_user.save

Пока вы сопоставляете проверки модели и подключаетесь к соответствующей базе данных, это очень простой подход. Чтобы подключиться к нужной базе данных, либо обновите config/database.yml так, чтобы ваша среда разработки была той, которую вы хотите использовать, либо запустите ее в правильной среде (если вы работаете, как вы и предполагали, просто запустите $ rails c RAILS_ENV=production вместо вышеупомянутого $ rails c).

Другие вопросы по тегам