Ruby与Rails开发:对象编组、代码示例及应用开发指南
1. Ruby对象编组
1.1 编组概念
Ruby能够将对象转换为字节流,这种转换过程称为编组(marshaling)。编组后的对象可以存储在应用程序外部,后续可被同一应用程序的其他实例或完全独立的应用程序读取,并重新构建出原始对象的副本。
1.2 编组潜在问题
- 部分对象无法编组 :如果要编组的对象包含绑定、过程或方法对象、IO类的实例、单例对象,或者尝试编组匿名类或模块,将会引发TypeError异常。
- 加载编组对象时需类定义 :当加载编组对象时,Ruby需要知道该对象及其包含的所有对象的类定义。在Rails中,若依赖Rails动态加载类,可能在重构会话数据时,特定类尚未定义。因此,在控制器中使用模型声明列出所有编组的模型,可预先加载必要的类,确保编组正常工作。
1.3 编组示例
以下是一个使用Ruby和Rails进行数据库迁移的示例,展示了如何创建一个名为 products 的表:
class CreateProducts < ActiveRecord::Migration[5.1]
def change
create_table :products do |t|
t.string :title
t.text :description
t.string :ima
超级会员免费看
订阅专栏 解锁全文
5955

被折叠的 条评论
为什么被折叠?



