Size: a a a

pro.rb (Ruby/Rails / RU)

2020 October 15

Т

Тенпеннай in pro.rb (Ruby/Rails / RU)
Vladislav Ivanov
Всем привет.

Я новичек в Rails / Ruby.

Создал проект, добавил туда authentication system (назвал ее 'gatekeeper').
Включает:
   - модель пользователя
   - роуты в конфиге
   - views
   - контроллер для входа / выхода пользователей
   - mailer для отправки писем активации / восстановления паролей
   - конфигурация mailer-a (логин / пароль) зашифрована в 'config/credentials'

Хотел уточнить:
   - 1. лучше ли будет это вынести в отдельный Rails Engine ?
     (т.е. чтобы оно переместилось в папку lib и было изолировано)


Спасибо.
а в чем не новичок? 🙄
источник

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
Тенпеннай
а в чем не новичок? 🙄
Python / django / javascript / graphql / express
источник

RP

Roman Patkin in pro.rb (Ruby/Rails / RU)
Vladislav Ivanov
Всем привет.

Я новичек в Rails / Ruby.

Создал проект, добавил туда authentication system (назвал ее 'gatekeeper').
Включает:
   - модель пользователя
   - роуты в конфиге
   - views
   - контроллер для входа / выхода пользователей
   - mailer для отправки писем активации / восстановления паролей
   - конфигурация mailer-a (логин / пароль) зашифрована в 'config/credentials'

Хотел уточнить:
   - 1. лучше ли будет это вынести в отдельный Rails Engine ?
     (т.е. чтобы оно переместилось в папку lib и было изолировано)


Спасибо.
devise изобретаешь?
источник

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
Roman Patkin
devise изобретаешь?
да )

Просто я использую MongoID и сделал чтобы пользователь имел вложенные поля вместо некрасивой плоской модели.
источник

VK

Vasyl Kuzmyk in pro.rb (Ruby/Rails / RU)
Vladislav Ivanov
Всем привет.

Я новичек в Rails / Ruby.

Создал проект, добавил туда authentication system (назвал ее 'gatekeeper').
Включает:
   - модель пользователя
   - роуты в конфиге
   - views
   - контроллер для входа / выхода пользователей
   - mailer для отправки писем активации / восстановления паролей
   - конфигурация mailer-a (логин / пароль) зашифрована в 'config/credentials'

Хотел уточнить:
   - 1. лучше ли будет это вынести в отдельный Rails Engine ?
     (т.е. чтобы оно переместилось в папку lib и было изолировано)


Спасибо.
Лучше будет использовать готовое решение, но если тебе чисто для себя, то я бы пихал в отдельный гем
источник

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
Vasyl Kuzmyk
Лучше будет использовать готовое решение, но если тебе чисто для себя, то я бы пихал в отдельный гем
спасибо.

А можно как-то Gatekeeper-a запихнуть в отдельный gem, но именно модель пользователя оставить в основном application ?

(ведь в модели пользователя я могу хранить не только auth_data, но и game_data, и inventory и т.д.)
источник

VK

Vasyl Kuzmyk in pro.rb (Ruby/Rails / RU)
Можно
источник

VK

Vasyl Kuzmyk in pro.rb (Ruby/Rails / RU)
Ну, вообще гем же просто работает с твоей системой и ты можешь с помощью гема управлять тем, что у тебя внутри
источник

VK

Vasyl Kuzmyk in pro.rb (Ruby/Rails / RU)
Главное смотри, чтобы сам себе не выстрелил в ногу
источник

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
Vasyl Kuzmyk
Можно
спасибо.

Еще нюанс, а если я перенесу это все в отдельный gem (Rails Engine), то как получить доступ к основному application оттуда ?

(уже ж я не смогу просто ввести User.where и найти нужного мне пользователя ?)
источник

VK

Vasyl Kuzmyk in pro.rb (Ruby/Rails / RU)
Не очень понял в чем проблема, но ответ сможешь
источник

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
Vasyl Kuzmyk
Не очень понял в чем проблема, но ответ сможешь
спасибо )
источник

RP

Roman Patkin in pro.rb (Ruby/Rails / RU)
да не нужно это в отдельный гем
источник

RP

Roman Patkin in pro.rb (Ruby/Rails / RU)
вынеси логику в сервисы
источник

RP

Roman Patkin in pro.rb (Ruby/Rails / RU)
кокой гем
источник

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
Roman Patkin
да не нужно это в отдельный гем
я имел ввиду сделать по руководству:
   https://guides.rubyonrails.org/engines.html

просто вынести в отдельную папку в папке lib, ну и добавить это в gemfile
источник

RP

Roman Patkin in pro.rb (Ruby/Rails / RU)
а зачем?
источник

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
Roman Patkin
а зачем?
чтобы в одном месте не было кучи разных папок
(когда все разрастется)
источник

RP

Roman Patkin in pro.rb (Ruby/Rails / RU)
если так будешь все выносить, то будет куча энджинов
источник

RP

Roman Patkin in pro.rb (Ruby/Rails / RU)
у тебя на все это дело 2 вью, 2 сервиса и 2 экшена получается
источник