一个只读的 ActiveRecord 类型基类,允许您使用哈希、Yaml 文件或自定义文件作为数据源
ActiveHash 是一个简单的基类,允许您将 Ruby 哈希表用作类似 ActiveRecord 模型的只读数据源。ActiveHash 假定每个哈希表都有一个 :id 关键字,这通常是您在数据库中存储的内容。这使您可以无缝地将 ActiveHash 对象升级为完整的 ActiveRecord 对象,而无需更改应用程序中的任何代码或数据库中的任何外键。此外,它还允许您在 AR 对象中使用 #has_many 和 #belongs_to (通过 belongs_to_active_hash)。
ActiveHash 还可以用于创建不依赖数据库的简单测试类 - 非常适合用于测试依赖于简单 AR 行为但不想处理数据库或迁移的插件或宝石。ActiveHash 还附带了:
捆绑器: ruby gem 'active_hash' 其他: ruby gem install active_hash 要求: - v1.x: Ruby >= 1.9.3, Rails >= 2.2.2 - v2.x, v3.x: Ruby >= 2.4, Rails >= 5 - v4.x: Ruby >= 3.0, Rails >= 6.1 ruby gem 'active_hash', '~> 1.5.3' 为什么要创建 ActiveHash? 我们编写了 ActiveHash,以便可以使用简单的内存数据结构,这些数据结构与 Rails 表单相兼容,例如: ```ruby
class Country < ActiveHash::Base self.data = [ {:id => 1, :name => "US"}, {:id => 2, :name => "Canada"} ] end
<%= collection_select :person, :country_id, Country.all, :id, :name %>
在 ActiveHash 之前,我们做过以下事情:ruby
class Person < ActiveRecord::Base COUNTRIES = ["US", "Canada"] end
<%= collection_select :person, :country_id, Person::COUNTRIES, :to_s, :to_s %>
暂无开放 Issues,或尚未同步最近议题。