Подтвердить что ты не робот

Переименование контроллеров в Rails и очистка созданного контента

Я следил за railscast относительно плагина restful_authentication.

Он рекомендовал запустить команду:

script/создать аутентифицированный сеанс пользователя

Что я сделал, и все сгенерировалось "отлично", но потом сеансы не работали. Проверяя сайт снова, он упоминает стандарт именования и обновленный обновленный код, в котором говорится:

script/генерировать сеансы аутентифицированных пользователей

С сеансами, плюрализуемыми.

Итак, теперь у меня есть session_controller.rb с SessionController в нем, но, я думаю, по стандартам именования он ищет SessionController, в результате чего код выходит из строя с ошибкой "NameError in SessionsController # create"

Я вижу проблему, которая довольно очевидна, но я не знаю, как это исправить, не регенерируя контент? Есть ли способ изменить процесс генерации, чтобы очистить все изменения, сделанные поколением?

Я попробовал просто переименовать файлы в session_controller с помощью класса sessionController, но это не удалось.

При написании этого я решил свою проблему. Мне пришлось переименовать сеанс в сеанс в файле маршрутов в качестве map.resource и переименовать каталог представления из сеанса в сеансы и обновить session_path в файле html.erb на session_path.

Итак, я решил свою проблему, но мой ответ на удаление сгенерированного контента все еще остается. Возможно ли генерировать контент?

4b9b3361

Ответ 1

Фактически, script/destroy работает для любого генератора - генераторы работают, читая script сортировки о том, какие файлы создавать; script/destroy просто читает, что script в обратном порядке и удаляет все созданные файлы, если вы даете ему те же аргументы, которые вы передали в script/generate.

Подводя итог: script/destroy authenticated user session удалил бы все сгенерированные файлы для вас, после чего вы могли бы запустить script/generate user sessions без проблем.

Ответ 2

Я никогда не пробовал script/destroy, но если вы возвращаете изменения, которые вы только что сделали, команда generate должна предоставить вам список добавленных файлов и внесенные изменения. Если вы используете какую-либо систему управления версиями, то может также помочь работать status/diff.

Ответ 3

Вы можете просто вернуться к предыдущей версии в subversion и начать снова, правильно? правильно?: -)

rails имеет script/destroy для "негенерирующего" материала, но я подозреваю, что он будет работать только для кораблей с рельсами, а не для плавного плагина аутентификации.

Я бы сказал, что лучше всего найти файлы in-files (или grep -R, если вы не используете IDE) - найдите все, что относится к вашему старому SessionController, и измените его