Rails 3: как визуализировать действие из представления другого контроллера - PullRequest
3 голосов
/ 29 апреля 2011

Я пытаюсь вызвать действие с точки зрения другого контроллера:

Контроллер Countries имеет действие с именем selectbox, которое генерирует HTML-окно выбора из всех стран как частичное.
КонтроллерCustomers имеет действие под названием new, которое генерирует HTML-форму для всех атрибутов клиентов.Я хочу вставить поле выбора из Countries#selectbox в эту форму.

Каким будет правильный путь для достижения этого?

Ответы [ 2 ]

2 голосов
/ 29 апреля 2011

Вы делаете это неправильно. Если есть фрагмент кода, который нужно использовать повторно (например, создание html-выбора), вы должны поместить его в помощник и / или использовать часть для рендеринга части html-выбора.

Помните, что это только хороший совет, если код несколько сложный (скажем, более одной или двух строк). Вот сообщение, которое я нашел во время поиска в Google, которое может помочь вам: вспомогательный или частичный

1 голос
/ 29 апреля 2011

Для того, что вы делаете, извлечение кода в вспомогательный метод является правильным способом сделать это. Однако, если вы все еще хотите использовать am action от другого, это официальный плагин Rails, который вы можете использовать:

https://github.com/rails/render_component

...