美文网首页
2018-08-08-关联扩展

2018-08-08-关联扩展

作者: 护念 | 来源:发表于2018-08-08 21:07 被阅读0次

一般情况下,我们在model关联(比如:has_many/belongs_to)后就会获取一组关联方法,但这些方法是有限的。

rails却赋予了我们扩展的权利,看用法

基本扩展

class Author < ApplicationRecord
  has_many :books do # 直接接 块 PS:这之间没有逗号
    def find_recent
      where('created_at > ?', 3.day.ago)
    end
  end
end

a = Author.first
a.books.find_recent

模块化扩展

module BooksExtend
  def find_recent
    where('created_at > ?', 3.day.ago)
  end
end

class Author < ApplicationRecord
  has_may :books, -> {extending BooksExtend}
end

相关文章

  • 2018-08-08-关联扩展

    一般情况下,我们在model关联(比如:has_many/belongs_to)后就会获取一组关联方法,但这些方法...

  • 2018-08-08-关联缓存

    rails 为了提高性能,在通过关联获取数据时,会缓存数据。 比如下面这个例子 a = Author.firsta...

  • 2018-08-08-关联回调

    model 可以回调,其实关联也可以回调,只不过它的回调方法比较少:只有下面几个: before_addafter...

  • iOS面试 --Objective-C相关

    Objective-C的扩展机制 Category 分类 通过它来扩展方法 Associated Object关联...

  • 对象数据关联扩展

    经常会在代码中进行数据关联,比如某张图片点击要打开某个链接。写了一个扩展,任何对象可以和任何数据关联。

  • 类扩展&关联对象

    我们在前面的文章讲到类和分类的加载原理,今天我们来探索下类扩展和关联对象。 在这之前我们下来看看类扩展和分类的区别...

  • OC底层原理探索—扩展和关联对象

    这篇文们来讲解下扩展和关联对象 扩展分析 首先我们先在main.m文件中实现扩展 然后clang -rewrite...

  • iOS runtime Extension里添加属性

    关联属性 创建Person类,然后在扩展文件里面添加address属性。

  • 桥接模式

    多个抽象或接口相关联,且支持实现无限扩展姓名+旅行城市名 city name 测试 扩展Name的实现类

  • 类别(category)、扩展(extension)、关联(As

    1、类别(category) 1)需求: 如果要给一个已经存在的类添加方法,可以使用类别。 2)一般表达 @int...

网友评论

      本文标题:2018-08-08-关联扩展

      本文链接:https://www.haomeiwen.com/subject/yzffbftx.html