当前位置: 首页 > news >正文

在没有数据库表或者列的情况下新建model;rails ,ruby, rack

因为在某些情况下要使用不存在的列,或者是要新建一个虚拟的model

可以在models下的concerns下新建tableless.rb,代码如下:

module Tableless
def self.included(base)
base.extend(ClassMethods)
base.send(:include,InstanceMethods)
end

module InstanceMethods
def save(validate = true)
validate ? valid? : true
end
end

module ClassMethods
def column(name, sql_type = nil, default = nil, null = true)
columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default,
sql_type.to_s, null)
end

def columns
@columns ||= [];
end
end
end

在model中的使用如下:

class Notice < ActiveRecord::Base
include Tableless

column :code, :integer
column :message, :string

attr_accessor :code, :message
end

 

转载于:https://www.cnblogs.com/tomtang/p/5159409.html

相关文章:

  • Keepalived
  • Nginx禁止ip访问或IP网段访问方法
  • Investigating Your RAM Usage
  • Java迭代器spliterator
  • Oracle TDE的学习
  • CSS 中 calc() 函数用法
  • springsecurity源码查看网址
  • Mod in math
  • js keyup、keypress和keydown事件 详解
  • 云栖问答送的淘公仔收到啦
  • struts2自己定义类型转换器
  • DJANGO的requirements的运用
  • 糖葫芦照样吃
  • RESTful三理解
  • 春运学生与民工
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • Brief introduction of how to 'Call, Apply and Bind'
  • HTTP--网络协议分层,http历史(二)
  • JAVA 学习IO流
  • java2019面试题北京
  • JavaScript DOM 10 - 滚动
  • js对象的深浅拷贝
  • js中的正则表达式入门
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • quasar-framework cnodejs社区
  • React-Native - 收藏集 - 掘金
  • Vue 2.3、2.4 知识点小结
  • 力扣(LeetCode)965
  • 如何利用MongoDB打造TOP榜小程序
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 微信开源mars源码分析1—上层samples分析
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 扩展资源服务器解决oauth2 性能瓶颈
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • # 数论-逆元
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #控制台大学课堂点名问题_课堂随机点名
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (2015)JS ES6 必知的十个 特性
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (LeetCode) T14. Longest Common Prefix
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (转) ns2/nam与nam实现相关的文件
  • (转)c++ std::pair 与 std::make
  • (转)Oracle 9i 数据库设计指引全集(1)
  • **PHP分步表单提交思路(分页表单提交)
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .Mobi域名介绍
  • .NET : 在VS2008中计算代码度量值
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET 中让 Task 支持带超时的异步等待
  • .NET 中使用 Mutex 进行跨越进程边界的同步