- 需求分析
需要为model层建立acts_as的扩展,这样,就能将代码脱离单个的model(如user)限制,在不同的Model中可以重用。我遇到的情况是,我有一个user的model,里面有很多关于流媒体服务器的方法(类方法和对象方法),我现在需要将其独立成一个acts_as_xxxx, 然后放入user model中
- 新建lib/diaoduapi/acts_as_flow.rb文件,如下是一个模板
module ModuleName def self.included(base) base.send :extend, ClassMethods end module ClassMethods # 类方法module def acts_as_something(options={}) send :include, InstanceMethods #增加类方法 def self.class_methods(params) #codes end end end module InstanceMethods # 对象方法module def instance_methods(params) #codes end end end ActiveRecord::Base.send :include, ModuleName
修改lib/diaoduapi.rb文件
require 'diaoduapi/acts_as_flow'
rails开发利器之插件开发-acts_as_xxx method 开发
最新推荐文章于 2023-03-24 14:54:56 发布