Как представления Rails получают доступ к задачам?

Я изучаю Rails и кажется, что заботы — это способ высушить толстые модели и сделать методы общими для моделей. Однако я смущен тем, почему представления/частицы имеют доступ к этим методам. Разве модель MVC не должна заставлять все, что связано с моделью, проходить через контроллер, а затем передаваться в представление. Создается впечатление, что предоставление представлениям доступа непосредственно к проблемам модели пропускает контроллер. Также почему у меня нет доступа к этим методам в консоли Rails?


person stackjlei    schedule 13.02.2017    source источник


Ответы (1)


Проблема модели может рассматриваться как способ разделения модели на множество методов. Можно использовать общие методы между моделями, но также можно просто сократить код модели.

Как только вы включаете проблему, все методы проблемы смешиваются с моделью и, следовательно, доступны везде, где есть «базовые» методы модели.

person ardochhigh    schedule 13.02.2017
comment
Так будет ли правильно сказать, что представления имеют доступ к методам модели, потому что контроллер получает его от модели и передает в представление для использования при необходимости? - person stackjlei; 14.02.2017
comment
Да, это правильно. Переменная экземпляра, то есть: начинающаяся с '@', обычно является экземпляром модели, которая отправляется из контроллера в представление. - person ardochhigh; 14.02.2017