【问题标题】:Rails ActiveModel Attribute TypeRails ActiveModel 属性类型
【发布时间】: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


    【解决方案1】:

    您使用attr_accessor 定义类的属性以供 ActiveModel 使用。不需要类型。

    请参阅 this question 关于“类型化 attr_accessor”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-12
      • 2015-01-25
      相关资源
      最近更新 更多