Я хочу вызвать действие контроллера с другого контроллера.Вызов контроллера из другого
Как я могу это сделать?
Несколько лет назад были компоненты, но они больше не доступны.
С наилучшими пожеланиями
Я хочу вызвать действие контроллера с другого контроллера.Вызов контроллера из другого
Как я могу это сделать?
Несколько лет назад были компоненты, но они больше не доступны.
С наилучшими пожеланиями
Вы не можете вызвать метод действия другого контроллера.
У вас есть только два решения.
Выполнение перенаправления на соответствующий URL.
redirect_to '/'
Но, конечно, если у вас есть данные из формы, вы их теряете.
Извлечь действие с другого контроллера.
render 'controller/action'
Вы сохраняете все свои данные (параметры и все такое).
Но вам нужно сделать все, что сделает другой контроллер.
Одним из решений, позволяющим избежать повторения строк кода, было бы иметь библиотечный метод, определяющий каждый необходимый вам вид, и использовать этот метод в двух контроллерах.
redirect_to является предпочтительным способом сделать это.
Если вы хотите просто визуализировать представление другого действия логикой текущего действия, вы можете передать представление в качестве опции для рендеринга.
render 'other_controller/action'
Но это будет отправлять состояние HTTP для перенаправления. Это не то, что я ищу. – brainfck