【发布时间】:2012-02-02 16:15:36
【问题描述】:
我在没有数据库后端的 rails 3.1.1 项目中使用 ActiveModels。
我想知道如何将属性类型设置为 String、Boolean、Decimal。
据我了解,当使用由数据库支持的 ActiveRecord 时,类型将直接取自数据库元数据。但是没有数据库,我在哪里定义属性类型?
编辑
我认为我的问题可以问得更好,如何将模型元数据添加到由 rest 或 JSONRPC2 服务支持的模型中?
例如,我可以创建翻译器,确保将该模型编码为 JSON,知道哪个属性(ruby 中的属性,JSON 中的属性)是布尔值,哪个是数字 - 或者我可以尝试动态计算- 但似乎最好让我的模型用元数据注释将这些属性/属性存储(在服务中)的类型。
接受的答案仍然不完全合适。尽管 Rails 模型不关心类型,但序列化方案 (JSON) 确实关心类型。在 JSON 中,数字和布尔值不应序列化为字符串。
【问题讨论】:
标签: activerecord ruby-on-rails-3.1 activemodel