Создать новое действие для существующего контроллера

Я знаю, что это, вероятно, вопрос новичков, но можно ли создать новое действие (метод в контроллере и связанный с ним просмотр) из командной строки на существующем контроллере?

Например, у меня уже есть контроллер с именем "Продукты". Могу ли я запустить:

rails g controller products [new_action]

а затем рельсы будут вставляться:

def [new_action]

end

В мой контроллер продуктов и создайте новый файл с именем "[new_action].html.erb" в каталоге views/products/? Я уже сделал это в Google, но удовлетворительный ответ не был возвращен. Кроме того, я бы просто пошел вперед и попробовал, но я довольно далеко в разработке моего текущего приложения и действительно не хочу ничего испортить.

Ответ 1

Я уверен, что вы не сможете сделать это в 100% автоматическом режиме. Причина в том, что Rails не знает, что вы сделали с вашими маршрутами или контроллером, и для некоторых существующих логических систем потребуется некоторая логика. Лучше всего просто добавить новое действие вручную. Добавьте новый метод к контроллеру, обновите файл маршрутов и добавьте представление. Это, вероятно, займет не более 1 минуты. Кроме того, если вы не используете контроллер версии (который ваш вопрос ускользнул), вам не придется беспокоиться о том, что он автоматически перезаписывает что-то.

Ответ 2

мы можем вручную создать действие в контроллере и просмотреть, но вы также должны добавить тестовые утверждения, которые должны быть хорошим автоматическим процессом, что-то вроде рельсов, генерирует опцию контроллера NAME [action action] m m = слияние

Ответ 3

Рельсы обеспечивают возможность создания настраиваемых генераторов (но это более продвинутый объект), которые могут быть адаптированы для ваших нужд.

Дополнительная информация:

http://guides.rubyonrails.org/generators.html