我正在为像这样的用户呈现待办事项列表
<%= render @user.todos %>
我想弄清楚的是如何仅显示已标记为已完成的那些。
这是我应该在控制器或模型中做的事情,还是可以在视图中过滤类似的内容?
答案 0 :(得分:3)
听起来像todo模型上的命名范围,它返回已完成的待办事项,以便您可以执行
<%= render @user.todos.completed %>
答案 1 :(得分:1)
逻辑应该始终进入你的模型。
您应该在模型中创建:scope(rails 3)或:default_scope(Rails 2),并直接在View中调用它。像completed_todos之类的东西然后你可以调用@ user.completed_todos。您只需在范围中设置completed = true。
希望这会有所帮助。