【发布时间】:2014-12-02 09:08:17
【问题描述】:
我想使用before_save 方法将我的模型实例的first_name 和last_name 大写。我当然可以这样做:
before_save do
self.first_name = first_name.capitalize
self.last_name = last_name.capitalize
end
但我更愿意一举改变这两个属性。有没有办法在我的模型中选择某些列并将所需的方法应用于它们?
【问题讨论】:
-
这实际上是在将数据转换为 SQL 查询之前对其进行修改。这仍然只包含在一个 INSERT/UPDATE 语句中
-
不确定
downcase是否将字符串字符大写。你确定你要做什么? -
@Surya 很抱歉。修改代码以反映问题
-
@MrYoshiji 正确。与其说是“查询”数据库,不如说是缺少更好的术语,选择模型的所需列并应用 capitalize 方法。
-
但最终你必须写出那些列名,对吧?为什么你认为这不是你想要的方式?
标签: ruby-on-rails ruby callback rails-activerecord models