Как вручную добавить пользователя в приложение 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
).