Мне нужно изменить код стороннего гема, где и как это сделать? - PullRequest
0 голосов
/ 13 июня 2010

Я создаю сайт на основе RoR и использую сторонний гем "devise".Я использовал rake gems:unpack, чтобы распаковать «devise» в мой каталог vendor / gems.Теперь я обнаружил, что метод "SessionsController.create", предоставленный "devise", не соответствует моим требованиям, и я хочу изменить его.

Но я не знаю, какой это лучший способ:

  1. просто измените метод SessionsController.create "напрямую?
  2. создайте другой SessionsController и переопределите метод" create "?

1 Ответ

0 голосов
/ 13 июня 2010

В Ruby есть открытые классы, вам всегда следует стремиться к повторному открытию и переопределению методов, которые вам нужны, поэтому повторное открытие SessionsController и переопределение метода create будет правильным решением.

Редактирование геманепосредственно возлагает бремя обслуживания на вас и всех остальных, кто должен касаться кода в будущем.В конце концов кто-то собирается забыть и обновить этот драгоценный камень.

...