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来调用自定义方法。
分享到:
相关推荐
implementation 'com.guo.android_extend:android-extend:1.0.6'失败,用这个替代就好了 implementation 'com.guo.android_extend:android-extend:1.0.6'失败,用这个替代就好了
国外关于iPaaS的数据集成实施方案,里面列举了多个大厂的使用方案
implementation 'com.guo.android_extend:android-extend:1.0.6'失败,用这个替代就好了
原生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 ) ...
计算graphicLayers的extend
jquery.validate.extend.js
jQuery.extend 函数详解 Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解。
使用方式:把资源放到libs下,在gradle app 中添加 低版本:compile files('libs/android-extend-1.0.6.aar') 高版本:implementation files('libs/android-extend-1.0.6.aar')
解析UML用例图中include与extend的区别
EXTEND工程设计软件的基础教程 英文版本 适合初学者
各种控件组件展示。 支持API10+ 水平滑动listView。 异步加载图片。 双指缩放,拖动。 项目链接:https://github.com/gqjjqg/android-widget-extend
foam-extend-4.1的地方库,安装时将库放在指定文件夹,不需要下载,可以直接安装编译。 库文件来自于互联网,用于学习使用。
用例的关系有泛化(generalization)、扩展(extend)和包含(include)。其中include和extend最易混淆。下面我们结合实例彻底理清三者的关系。基本概念用例图(UseCaseDiagram):用例图显示谁是相关的用户,用户希望系统...
EXTEND是一个很简朴但实用经济、建模效率很高、扩展性很好的仿真软件,性价比和众多技术性能指标在主流仿真软件中比较突出,深受重视实效的企业欢迎。进入中国很短时间之内,已经被英特尔、ABB、佳能、宝钢 、诺基亚...
NULL 博文链接:https://anniexuguoan.iteye.com/blog/835266
虹软ArcSoft 人脸识别AndroidDemo中有一个Lib通过公网始终无法下载,替换进去就好了。 依赖替换为 implementation files('libs/android-extend-1.0.5.aar')。 依赖库com.guo.android_extend
前端开源库-extend-error扩展错误,在node.js中轻松定义自定义错误类型
前端开源库-extend-promise扩展一些常用方法