ruby-on-rails – 访问与Activerecord访问器分开的数据库值
发布时间:2020-12-17 02:42:27 所属栏目:百科 来源:网络整理
导读:我试图设置我自己的方法来覆盖数据库属性,以便我可以拦截数据库值为null的值. Rails似乎允许我设置一个与数据库列同名的方法,但是我需要一种替代方法来访问数据库值以返回我想要的内容. 想象一下,我有一个数据库列“date”,我希望在数据库中为null时将其设置
我试图设置我自己的方法来覆盖数据库属性,以便我可以拦截数据库值为null的值.
Rails似乎允许我设置一个与数据库列同名的方法,但是我需要一种替代方法来访问数据库值以返回我想要的内容. 想象一下,我有一个数据库列“date”,我希望在数据库中为null时将其设置为其他内容. 我想设置一个方法如下 def date if (alternative_db_value_object).date == nil "Put this" else "Put that" end end 或者,如果有人能提出更好的方法,我会非常感激. 解决方法
..在’date’方法中,你可以使用
self[:date] 要么 read_attribute(:date) 更新:似乎这在rails 5上不再起作用了.一个应该使用super: def length=(minutes) super(minutes.to_i * 60) end def length super / 60 end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |