Rails фильтрует частичные результаты - PullRequest
1 голос
/ 10 февраля 2011

Я отображаю список задач для пользователя следующим образом:

<%= render @user.todos %>

Я пытаюсь понять, как показать только те из них, которые отмечены как завершенные.

Это то, что я должен делать в контроллере или модели, или нормально фильтровать что-то подобное в представлении?

Ответы [ 2 ]

3 голосов
/ 10 февраля 2011

звучит как именованная область действия в модели задач, которая возвращает завершенные задачи, поэтому вы можете выполнить

<%= render @user.todos.completed %>
1 голос
/ 10 февраля 2011

Логика всегда должна входить в вашу модель.

Вы должны создать: scope (rails 3) или: default_scope (Rails 2) в вашей модели и вызвать его в View напрямую Что-то вроде complete_todos, и тогда вы можете позвонить @ user.completed_todos. Вы просто устанавливаете завершенный = true в области видимости.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...