Ruby与Rails开发:从对象编组到购物车应用构建
1. Ruby对象编组
1.1 编组的概念
Ruby能够将对象转换为字节流,以便存储在应用程序之外,这个过程被称为编组(marshaling)。之后,应用程序的另一个实例(甚至是完全独立的应用程序)可以读取这个保存的对象,并重新构建出原始对象的副本。
1.2 编组的潜在问题
在使用编组时,可能会出现两个潜在问题:
- 部分对象无法编组 :如果要编组的对象包含绑定、过程或方法对象、IO类的实例、单例对象,或者尝试编组匿名类或模块,将会引发TypeError异常。
- 类定义缺失 :当加载一个编组的对象时,Ruby需要知道该对象(以及它包含的所有对象)的类定义。在Rails中存储会话数据时,如果依赖Rails动态加载类,可能在重新构建会话数据时,特定的类还未被定义。因此,需要在控制器中使用模型声明列出所有被编组的模型,以预先加载必要的类,确保编组正常工作。
2. Ruby与Rails结合示例
2.1 示例代码
class CreateProducts < ActiveRecord::Migration[6.0]
def change
create_table :products do |t|
t.string :title
t.text :description
t.string :image_url
t.decimal
Ruby与Rails开发实战指南
超级会员免费看
订阅专栏 解锁全文
8

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



