我的项目中有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