• Rails 模型关联关系

    Rails 中的 Active Record 拥有很多强大的功能,主要功能包括:表示模型之间的关系、通过相关联的模型表示继承的层次结构、数据验证等… 关联类型belong_tobelong_to 关联会在两个模型之间创建一对一关系,声明所在的模型实例...
  • Rails Session

    CookieStore - Session默认的存储方式Rails 的 Session 是默认存储在 CookieStore 中的,这是一个安全的做法,CookieStore 会基于 secure_key_base 对 Session 的内容进行加密...
  • Ruby - 对象消息拦截

    当发消息给对象的时候,对象会在方法查找路径上找到与消息同名的方法执行,如果找不到这样的方法,就会引发 NoMethodError 异常,除非为该对象提供了一个 method_missing 方法。 使用 method_missing 实现委托可以将 ...
  • Ruby - 将方法作为对象使用

    lambda和 Proc.new 一样,lambda 方法也会返回一个 Proc 对象: 123lam = lambda { puts "A lambda" }lam.call# A lambda 应...
  • Ruby - 基础匿名函数 Proc

    最简单的来说,可调用对象的概念表现为:通过接受消息 call 的对象与某些代码关联,并执行这些关联代码以获得预期的结果。 Ruby中最主要的可调用对象是 Proc 对象、lambda 表达式、方法对象。Proc 对象是自包含的代码序列,可以创建、存储...
  • Ruby - 单例类和单例模式

    “单例”一词在Ruby中有第二个不同的含义:单例模式,描述一个类只能有一个实例。Ruby标准库中包含对单例模式的实现,通过 require “singleton 就可以使用。单例类并没有直接与单例模式相关联,”单例”这个词有着更多的重载的意思。 R...
  • Ruby - 枚举器的方法链

    方法链是Ruby中最常见的技术,常见的原因从某种程度上来讲,是因为它非常简单,仅仅将几个方法同时使用就可以达到某种目的: 12namse = %w{ David Case Ccsaa} puts names.select...
  • Ruby - 枚举器

    使用枚举器保护对象思考使用一个数组作为参数的方法 1def get_array(array) 如果传递一个数组对象给这个方法,这个方法就可以修改该数组对象 1array << "new element" 如果想要保护这...
  • Ruby - 可枚举对象排序

    如果有一个类,需要对他的实例化对象进行排序,就需要按照如下方式: 定义类的比较方法 <=> 将多个实例对象放入容器 对这个容器进行排序 关键在于,虽然排序功能是由Enumerable提供的,但是我们自己的类可以不必混合该模块。当...
  • 约定优先于配置(CoC)

    约定优于配置(Convention Over Configuration),也称作按约定编程是一种软件设计范式。目的在于减少软件开发人员所需要做出的决定的数量,从而获得简单的好处,而又不失去其中的灵活性。 本质是说,开发人员仅需规定应用中不符约定的部...