`
wiisola
  • 浏览: 87423 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

#004_将查询移入模型类

阅读更多
根据DHH提出的DRY原则,我们将一个公用的find方法移入model类(比如本例中的查找所有未完成的任务),然后就可以在controller中多次重用,也包括通过表间关联来查找。
# tasks_controller.rb
def index
  @tasks = Task.find_incomplete
end

# models/task.rb
def self.find_incomplete
  find_all_by_complete(false, :order => 'created_at DESC')
end

# projects_controller.rb
def show
  @project = Project.find(params[:id])
  @tasks = @project.tasks.find_incomplete
end
分享到:
评论

相关推荐

    js实现鼠标移过,改变图片路径

    在这个场景中,`mouseover`和`mouseout`事件处理函数分别在鼠标移入和移出小图时执行,实现动态更换大图的功能。通过结合HTML、CSS和JavaScript,我们可以创建一个交互性强、用户体验良好的图片特效,让用户在浏览...

    移位寄存器 门级建模 c++

    - `left input` 和 `right input` 通常是移位寄存器的数据输入端,决定数据的移入方向。 - `clock` 是控制数据转移的关键信号,一般是一个布尔值,时钟边沿触发数据的移动。 - `mode` 决定了移位的方向,可以是枚举...

    QCompleter_test.zip

    下面我们将详细探讨QCompleter类及其在Qt中的应用。 QCompleter类是Qt的输入辅助组件,主要作用是在用户输入文本时提供可能的完成选项。例如,在搜索引擎的搜索框中,当用户开始输入关键字时,系统会自动显示出与已...

    CCF大数据与计算智能大赛自动驾驶三维点云分割复赛第四方案源码+学习说明.zip

    #### 将maskrcnn文件夹放入FaterRCNN/train_log下,将ImageNet-R101-AlignPadding放入FasterRCNN下,本训练代码参考:https://github.com/tensorpack/tensorpack/tree/master/examples/FasterRCNN -----------------...

    深入理解JavaString#intern()内存模型Ja

    在Java编程语言中,`String`类是极其重要的,它提供了许多用于操作字符串的方法,其中之一便是`intern()`。深入理解`String#intern()`方法对于优化内存使用和理解Java的内存模型至关重要。`intern()`方法是一个非常...

    2021-2022计算机二级等级考试试题及答案No.3703.docx

    - **知识点**: 给定的MySQL备份语句使用 `INTO OUTFILE` 子句将查询结果保存到一个文本文件中。在这个例子中,字段之间的分隔符为逗号(`,`),并且每个字段都被双引号(`"``)包围,这符合CSV文件的标准格式。 - **应用...

    DataGridview 鼠标打哪哪就变色

    - `Onmouseover`: 当鼠标移入行时,记录当前背景颜色到变量`b`中,并将行背景颜色设置为橙色`#ff6633`。 - `Onmouseout`: 当鼠标移出行时,恢复行的原始背景颜色。 ### 扩展知识点 #### 1. 数据绑定 DataGridView...

    2021-2022计算机二级等级考试试题及答案No.14188.docx

    - **鼠标事件**:JavaScript 支持多种鼠标事件,其中 `onMouseOver` 和 `onMouseLeave` 是常用的两种,分别表示鼠标移入和移出元素的动作。 ### 8. 文件通配符 - **通配符匹配规则**:在文件路径中使用通配符可以...

    Ruby-railsbestpracticesrails项目的代码度量工具

    4. **控制器逻辑**:工具会检查控制器中的代码是否过于复杂,建议将业务逻辑移入模型层或服务对象,保持控制器轻量化。 5. **测试覆盖率**:虽然rails_best_practices不直接提供测试覆盖率,但它能提醒开发者检查未...

    46.(cesium篇)cesium实现信息提示tooltip.zip

    在本教程中,我们将深入探讨如何使用Cesium库来实现信息提示(Tooltip)功能。Cesium是一个强大的开源JavaScript库,专用于在Web浏览器中创建3D地球和空间可视化应用。它提供了丰富的API和功能,使得开发者能够轻松...

    SPSS22统计基础

    - 将测试变量移入相应的框内,并设置分组变量(如果是独立样本t检验)。 - 运行并查看结果。 #### 十、单因素方差分析 (Chapter 10) - **定义**: 单因素方差分析(One-Way ANOVA)是一种检验多个独立样本均值之间...

    2021-2022计算机二级等级考试试题及答案No.18579.docx

    传递查询允许将SQL命令直接发送到数据库服务器,这符合ODBC的工作原理。 #### 4. 主键概念 - **知识点**: 主键是数据库表中的一个或一组字段,用以唯一标识表中的每条记录。 - **解析**: “一个表可以有多个主键”...

    altilum中的3D 模型(连接器类)

    本文将深入探讨“altilum中的3D模型(连接器类)”,特别是针对描述中提到的“一个间距为0.5,管脚为40芯的双排针”。 3D模型在Altium Designer中的重要性不言而喻,它允许设计者在设计PCB时预览元件的真实尺寸和...

    2021-2022计算机二级等级考试试题及答案No.19017.docx

    - **题目内容**:为了把焦点移到某个指定的控件,所使用指定的控件的()方法。 - A. Visible - B. Refresh - C. SetFocus - D. GetFocus - **正确答案**:C - **解析**:在编程语言中,如Visual Basic等,`...

    浙教版2021-2022学年度七年级数学下册模拟测试卷 (2044).docx

    本题考查学生将实际问题转化为方程模型并求解的能力。 #### 26. 代数式的运算 涉及基本的代数运算规则,如乘法公式、平方差公式等。 ### 三、解答题知识点解析 #### 27. 二元一次方程的正整数解 考查学生对方程解...

    2021-2022计算机二级等级考试试题及答案No.18912.docx

    一般来说,如果要将一个数据库中的表移到另一个数据库中,通常需要先将该表从原数据库中分离出来,使之成为自由表,然后再将其加入到新数据库中。因此,正确答案是B“可以将一个已属于一个数据库的表添加到另一个...

    Qt 5 QML中文版

    - **视图绑定**:讲解如何将数据模型与视图进行绑定。 - **视图更新**:说明当数据模型发生变化时,如何更新视图显示。 ##### 7.4 代理 - **代理类**:介绍代理类的作用及其使用方法。 - **自定义代理**:指导如何...

    将平移旋转缩放手势映射到Matrix4对象的手势检测.zip

    在"matrix_gesture_detector-master"这个压缩包中,很可能包含了一个自定义的手势检测器类,该类能够监听并解析平移、旋转和缩放手势,然后将这些手势转化为Matrix4变换,从而实现对3D对象的直观控制。学习和理解这...

Global site tag (gtag.js) - Google Analytics