轨道设置获取密钥的所有设置



我的项目中有ledermann-rails-settings,用于存储设置。我想获取键的所有设置值。我的模型是这样的

class Prescription < ActiveRecord:Base 
has_settings do |s|
s.key :print_options ,:defaults=> {:medication=>true,:medical_history=>false}   
end
end

我已经浏览了有关 rubydoc 和 git 的文档,但找不到一次性获取所有值的方法。有all可用于设置对象的方法,但它在我的情况下不起作用。如果我这样做Prescription.last.settings(:print_options).all它会返回nil这是因为它将all视为键并尝试为其获取值。

我已经看到了对象结构,并看到了存储在设置对象的属性value值,可以像

Prescription.last.settings(:print_options).value

但问题是它不返回默认值,而我需要获取所有值(包括默认值(。如果有人知道用于此目的的任何方法,或者可以纠正我使用该方法all请告诉我。

Prescription#to_settings_hash可能是您要查找的:

Prescription.last.to_settings_hash

相关内容

最新更新