2

Я хотел бы иметь реферальную модель, где пользователь A может передавать событие X пользователю B. То, как я планирую реализовать его, не имеет реферальных представлений. У меня есть кнопка «Отправить» на странице событий/показа для создания действия и направила пользователей на страницу/показать страницу для показа. Я не вижу необходимости создавать представление для направления.Модель без вида: нужен ли мне контроллер в Rails

С точки зрения дизайна шаблона, нормально ли создавать действие «refer» в Events_Controller для вызова метода create в реферальной модели вместо отправки его назначенному контроллеру (т. Е. Refferals_Controller), который будет звонить в Реферал модель?

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

спасибо.

ответ

0

Вам не следует создавать контроллер для переадресации вызовов модели с других контроллеров. Вы можете иметь несколько моделей на контроллер. Или несколько контроллеров на модель.

Иногда (если вы знаете, что вы делаете), вы можете даже напрямую вызвать методы модели из представления («некоторые правила могут быть согнуты, некоторые могут быть разбиты» (с) Морфеус).

4

Контроллер, на котором появляются http-запросы (после прохождения маршрутизации). Нет входящих запросов == нет контроллера. Хорошо, когда контроллер соответствует схеме REST (индекс, показать, создать ...). Но вы также можете добавлять действия без REST (Rails Routing поддерживает это: 3 Non-Resourceful Routes)
Все взаимодействия с моделью, вероятно, должны идти в классе модели. (Изменить: я имею в виду код)