【发布时间】:2021-12-10 18:51:44
【问题描述】:
我正在使用标准的 Rails 表单来更新 ActiveRecord::Store
store :settings, accessors: %i[is_public]
我的表单如下所示:
<%= form.select(:is_public, options_for_select([['True', true], ['False', false]])) %>
当我查看已保存的已转换为字符串的哈希时,有没有办法在此处保留布尔类型?
【问题讨论】:
-
这不是一个真正的属性(即存储在表中)是否有原因?如果是这样,您可以覆盖访问器Docs
-
我只是想将我的所有用户设置存储在一个列中,而不是为 30 多个设置参数设置很多列,有没有更好的方法?
-
不,这很好,现在更容易理解,但在这种情况下,我建议按照文档中所示覆盖访问器。
-
我创建了一个自定义模块来添加方法来覆盖访问器,正如@engineersmnky 建议的那样(见下文)。
标签: ruby-on-rails