ruby 代码
- class Organization < ActiveRecord::Base
- has_many :people
- end
当我们声明has_many关系之后,Rails会自动添加一系列的方法,我们就可以在程序中使用
organization.people,organization.people.create,organization << People.new,以及采用类似与organization.people.add之类的方法调用people类中的方法,如果你希望在添加has_many关系的同时添加自定义的方法到此关系中,可以使用以下的方式:
ruby 代码
- class Organization < ActiveRecord::Base
- has_many :people do
- def find_active
- find(:all, :conditions => ["active = ?", true])
- end
- end
- end
也可以定义一个module,在module中定义一系列的自定义方法:
ruby 代码
- has_many definition:
-
- module FindActiveExtension
- def find_active
- find(:all, :conditions => ["active = ?", true])
- end
- end
-
- class Organization < ActiveRecord::Base
- has_many :people, :extend => FindActiveExtension
- end
使用orgnazition.people.find_active来调用自定义方法。
分享到:
相关推荐
标题 "com.guo.android_extend:android-extend:1.0.6" 提示我们这是一个 Android 库项目,属于开发者郭某的扩展库,版本号为 1.0.6。通常,这种格式表示的是 Maven 或 Gradle 的依赖坐标,用于在构建 Android 项目时...
implementation 'com.guo.android_extend:android-extend:1.0.6'失败,用这个替代就好了 implementation 'com.guo.android_extend:android-extend:1.0.6'失败,用这个替代就好了
在JavaScript开发中,`underscore` 和 `jQuery` 都提供了扩展对象的功能,即 `_.extend()` 和 `$.extend()` 方法。这两个方法允许开发者合并一个或多个对象的属性到目标对象中,实现对象间的属性拷贝。本文将深入...
uri: 'path/to/your/gltf/model.gltf', showWireframe: true // 显示白模 } }); ``` 这样,你的3D模型将以线框形式展示,有助于在复杂场景中观察模型的结构。 2. **避让处理(Occlusion)**: 避让是指在3D...
解析 UML 用例图中 include 与 extend 的区别 UML 用例图是软件开发过程中的一种重要工具,它能够帮助我们更好地理解和描述业务需求。在 UML 用例图中,有两种重要的关系:include 和 extend。这两种关系都是用来...
虹软ArcSoft 人脸识别AndroidDemo中有一个Lib通过公网始终无法下载,替换进去就好了。 依赖替换为 implementation files('libs/android-extend-1.0.5.aar')。 依赖库com.guo.android_extend
### jQuery.extend 函数详解 #### 一、概述 在JavaScript前端开发中,jQuery是一个非常流行的库,它简化了许多常见的操作,比如DOM操作、事件处理、AJAX交互等。`jQuery.extend`是jQuery提供的一个用于扩展jQuery...
《深入理解foam-extend-4.1第三方库在OpenFOAM中的应用》 OpenFOAM,作为一款开源的计算流体动力学(CFD)软件,被广泛应用于工程和科研领域。它提供了丰富的功能和灵活性,使得用户可以对复杂的流体流动问题进行...
原生js实现jquery $.extend方法 通过遍历对象属性来实现
gem 'query_methods_extend' 用法 结构书模型: class Store < ActiveRecord :: Base has_many :categories has_many :books , through : :categories end // Store ( id : integer , address : string ) ...
标题“ Extend”可能指的是在编程领域中的扩展或继承概念,这在面向对象编程(OOP)中至关重要。在这个场景下,“ Extend”意味着一个类(子类)从另一个类(父类)继承属性和方法,从而实现代码重用和类的分层结构...
### EXTEND基础知识点详解 #### 一、EXTEND软件概览 **EXTEND**是一款由刃之砺信息科技(上海)有限公司开发的工程设计软件,主要用于动态系统建模与仿真。该软件具备强大的功能和先进的技术,适用于各种专业领域...
`$.fn.extend`是jQuery库中的一个核心方法,主要用于扩展jQuery对象的方法集合。这个方法允许开发者自定义jQuery的函数,从而实现对DOM元素的操作或添加新的功能。在jQuery中,`$.fn`实际上是`$.prototype`的一个...
Java 中 extend 与 implement 的区别 Java 语言中,extend 和 implement 是两个基本概念,它们之间的区别是非常重要的。extend 用于继承类,而 implement 用于实现接口。在 Java 中,不支持多重继承,但是可以使用...
jquery.validate.extend.js
使用方式:把资源放到libs下,在gradle app 中添加 低版本:compile files('libs/android-extend-1.0.6.aar') 高版本:implementation files('libs/android-extend-1.0.6.aar')
在前端开发中,错误处理是不可或缺的一部分,而`extend-error`正是一个专为前端和Node.js环境设计的开源库,用于扩展和定义自定义错误类型。这个库使得开发者能够更方便、更规范地管理和报告错误,提高代码的可读性...